【Redis】使用redis做排行榜系统

1、列表、集合、有序集合

【Redis】使用redis做排行榜系统_第1张图片

2、了解redis的命令

     首先根据需求,我们要做一个排行榜系统,那么首先想到的是zset有序集合。那么最重要的就是redis的命令了。
1)添加成员

zadd key score menber[score member]

      redis3.2为zadd命令添加了nx、xx、ch、incr四个选项

  1. 计算成员个数
zcard key

3)计算某个成员的分数

zscore key member

4)计算成员的排名

zrank key member 
zrevrank key member

zrank 是分数从低到高
zrevrank 是分数从高到低
比如 小明 246 小张498 小李 503 zrank得出小明是第0名 zrevrank 得出小李是第0名(排名按照0开始计算)

5)删除成员

zrem key member[member....]
  1. 增加成员分数
zincrby key increment member
  1. 返回指定排名范围的成员
zrang  key start end [withscores]
zrevrang key start end [withscores]

有序集合是按照分值排名,zrange 是从低到高返回,zrevrang则是反之。
如果加上withscores 选项,那么会同时返回成员的分数

8)返回指定分数范围的成员

zrangebyscore key min max[withscores] [limit offset count]
zrevrangebyscore key min max[withscores] [limit offset count]

其中zrangebyscore按照分数从低到高返回,zrevrangebyscore反之。withscores选项会同时返回每个成员的分数。

同时min和max还支持开区间(小括号)和闭区间(中括号),-inf和+inf分别代表无限小和无限大

9)返回指定分数范围成员个数

zcount key min max

10)删除指定排名内的升序元素

zremrangebyrank key start end
  1. 删除指定分数范围的成员
zremrangebyscore key min max

你可能感兴趣的:(❤♥♥神奇的JAVA)