redis各种数据类型分别在什么情况下使用

 我来答
yuanyuan7891
2016-08-16 · TA获得超过527个赞
知道小有建树答主
回答量:286
采纳率:80%
帮助的人:108万
展开全部
1.取最新N个数据的操作
•使用LPUSH latest.comments<ID>命令,向list集合中插入数据

•插入完成后再用LTRIM latest.comments 0 5000命令使其永远只保存最近5000个ID

•然后我们在客户端获取某一页评论时可以用下面的伪代码 redis.lrange("latest.comments",start,start+num_items-1)

ps:如果输入无序则可以使用sorted set用时间作为score,然后lrangebyscore分页读取,按时间排序

2.排行榜应用,取TOP n操作
将你要排序的值设置成sorted set的score,将具体的数据设置成相应的value,每次只需要执行一条ZADD命令即可。

3.需要精准设定过期时间的应用
比如你可以把上面说到的sorted set的score值设置成过期时间的时间戳,那么就可以简单地通过过期时间排序,定时清除过期数据了

4.计数器应用
INCR,DECR命令

5.Uniq操作,获取某段时间所有数据排重值
使用Redis的set数据结构

6.实时系统,反垃圾系统
set

7.Pub/Sub构建实时消息系统
8.构建队列系统
使用list可以构建队列系统,使用sorted set甚至可以构建有优先级的队列系统。

9.缓存

其实没有固定说那个类型一定用在什么场景,你需要了解redis数据类型的特点,并利用其特点来满足你的场景需要。
redis有字符串类型、列表、哈希表(散列表)、集合、有序集合这5种,各有不同。各有特点,列表经常用作队列用作需要保持顺序的场景,散列表可以去除重复值而且可以设置field属性,集合可以去除重复而且支持集合操作适合tag系统以及关注人列表,有序集合在集合基础上增加了排序。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式