导航:首页 > 数据处理 > redis缓存什么数据

redis缓存什么数据

发布时间:2024-01-24 09:36:23

A. redis数据类型和应用场景

Redis是当前比较热门的NOSQL系统之一,它是一个开源的使用ANSI c语言编写的key-value存储系统(区别于MySQL的二维表格的形式存储。),Redis数据都是缓存在计算机内存中并且它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。谈到存储数据,那么必然要涉及到相关的数据类型,redis主要有以下数据类型:

描述:string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。value其实不仅是String,也可以是数字。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

常用命令:get、set、incr、decr、mget等。

应用场景:规key-value缓存应用。常规计数: 点赞数, 粉丝数。

描述: hash 是一个键值(key => value)对集合。Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

常用命令:hget,hset,hgetall 等。

应用场景:存储部分变更数据,如商品信息等。

描述:list 列表是简单的字符串行表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

常用命令:lpush(添加左边元素),rpush,lpop(移除左边第一个元素),rpop,lrange(获取列表片段,LRANGE key start stop)等。

应用场景:消息队列,关注列表,粉丝列表等都可以用Redis的list结构来实现。

描述: set是string类型的无序集合。集合是通过hashtable实现的,概念和数学中个的集合基本类似,可以交集,并集,差集等等,set中的元素是没有顺序的。所以添加,删除,查找的复杂度都是O(1)。

常用命令:sadd,spop,smembers,sunion 等。

应用场景:交集,并集,差集(微博中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。Redis还为集合提供了求交集、并集、差集等操作,可以非常方便的实现如共同关注、共同喜好、二度好友等功能,对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集合中)

描述:zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同是可以打分(排序)

常用命令:zadd,zrange,zrem,zcard等

应用场景:排行榜,带权重的消息队列

描述:Bitmaps这个“数据结构”可以实现对位的操作。 把数据结构加上引号主要因为:
Bitmaps本身不是一种数据结构, 实际上它就是字符串 , 但是它可以对字符串的位进行操作。
Bitmaps单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。其实大多数Bitmaps的应用场景可以用其他数据类型来实现,用Bitmaps主要是存储空间占用特别少

常用命令:getbit key offset;setbit key offset value

应用场景:统计用户访问,统计电影某天的的播放量

描述:Redis 在 2.8.9 版本添加了 HyperLogLog 结构。Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。这类数据结构的基本大的思路就是使用统计概率上的算法,牺牲数据的精准性来节省内存的占用空间及提升相关操作的性能

常用命令:pfadd, pfcount,pfmerge

应用场景:统计网站的每日UV

描述:GEO功能在Redis3.2版本提供,支持存储地理位置信息用来实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能.geo的数据类型为zset.

常用命令:geoadd,geopos, geodist

应用场景:附近位置、摇一摇

参考列表:
Redis五种数据类型及应用场景

B. redis一般用来干嘛



redis是一个单线程的NoSQL数据库,主要用来做数据缓存,一般大型网站的应用和数据库之间的那一层就是Redis。比如京东商城的页面查找功能,用户接触到的查询的第一层就是Redis数据缓存层,缓存中找不到的数据,再进入数据库查询。Redis中缓存热点数据,能够保护数据库,提高查询效率。

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。
阅读全文

与redis缓存什么数据相关的资料

热点内容
更新附加信息是什么 浏览:970
电子信技术是什么 浏览:37
二手车交易到本市怎么退档 浏览:617
如何通知老客户增加新产品 浏览:319
做代理需要什么设备 浏览:925
产品包装盒信息地址在什么位置 浏览:672
微信项目介绍价格如何代理 浏览:108
怎么代理习宴酒 浏览:661
表头填什么信息最好 浏览:160
武清市有哪些市场 浏览:714
淘宝店铺怎么判定虚假交易的 浏览:281
导航系统数据流量哪个好 浏览:910
丹东哪里有玉石交易市场 浏览:358
调取对方身份信息需要多久 浏览:692
怎么查西数硬盘是哪个代理的 浏览:95
聚羧酸减水剂技术员主要干什么 浏览:943
玩游戏没有及时回女生信息怎么办 浏览:358
反馈信息来源怎么写 浏览:327
怎么让程序运行手机黑屏 浏览:685
沈阳市古董市场在哪里 浏览:50