新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
需要的存储结构:新的存储模型,可以保存可以排序的数据
sorted_set 类型:在 set 的存储结构基础上添加可排序字段
添加数据
zadd key score1 member1 [score2 member2]
获取全部数据
zrange key start stop [WITHSCORES]
zrevrange key start stop [WITHSCORES] // rev 是 reverse 的缩写
删除数据
zrem key member [member ...]
按条件获取数据
zrangebyscore key min max [WITHSCORES] [LIMIT]
zrevrangebyscore key max min [WITHSCORES]
条件删除数据
zremrangebyrank key start stop
zremrangebyscore key min max
获取集合数据总量
zcard key
zcount key min max
集合交、并操作
zinterstore destination numkeys key [key ...]
zunionstore destination numkeys key [key ...]
获取当前系统时间
time
注意:
票选广东十大杰出青年,各类综艺选秀海选投票
各类资源网站 TOP10(电影,歌曲,文档,电商,游戏等)
聊天室活跃度统计
游戏好友亲密度
获取数据对应的索引(排名)
zrank key memeber
zrevrank key member
score 值获取与修改
zscore key member
zincrby key increment member
总结:redis 应用于计数器组合排序功能对应的排名
基础服务 + 增值服务类网站会设定各位会员的试用,让用户充分体验会员优势。例如观影试用 VIP、游戏 VIP 体验、云盘下载体验 VIP、数据查看体验 VIP。当 VIP 体验到期后,如果有效管理此类信息。即便对于正式 VIP 用户也存在对应的管理方式。
网站会定期开启投票、讨论,限时进行,逾期作废。如何有效管理此类过期信息。
总结:redis 应用于定时任务执行顺序管理或任务过期管理
任务/消息权重设定应用
当任务或者消息待处理,形成了任务队列或消息队列时,对于高优先级的任务要保障对其优先处理,如何实现任务权重管理。
多条件任务权重设定
如果权重条件过多时,需要对排序 score 值进行处理,保障 score 值能够兼容 2 条件或者多条件,例如外贸订单优先于国内订单,总裁订单优先于经理订单,经理订单优先于员工订单
总结:redis 应用于即时任务/消息队列执行管理
原文:https://www.cnblogs.com/wuyongqiang/p/12657109.html