合肥网站建设晨飞,哪里设计公司vi,企业建设网站的主要目的,新农村建设网站知乎一. 概述 SortedSet又叫zset#xff0c;它是Redis提供的特殊数据类型#xff0c;是一种特殊的set类型#xff0c;继承了set不可重复的特点#xff0c;并在set基础上为每个值添加一个分数#xff0c;用来实现值的有序排列。 二. 常用指令 明白它的特点后#xff0c;接下来…一. 概述 SortedSet又叫zset它是Redis提供的特殊数据类型是一种特殊的set类型继承了set不可重复的特点并在set基础上为每个值添加一个分数用来实现值的有序排列。 二. 常用指令 明白它的特点后接下来操作一下此数据类型的常用的相关指令。 zadd 将一个或者多个元素及其对应的分数添加到集合中。下面用命令来演示例子 #新增 192.168.65.15:6379 zadd db 10 oracle 5 mysql 25 redis 7 mongodb
#返回新增的个数 (integer) 4 zcard 返回元素的个数如果key不存在则返回0。 192.168.65.15:6379 zcard db (integer) 4 zcount 返回 分数在 区间之间的个数。 #返回分数score 在 1-3之间的元素个数 192.168.65.15:6379 zcount db 10 20 (integer) 1 zrange 返回指定下标范围内正序排列的值start 下标从0开始查询所有范围是0到-1。 #查询所有元素范围用 0 -1 192.168.65.15:6379 zrange db 0 -1
mysqlmongodboracleredis
#查询所有元素带分数 192.168.65.15:6379 zrange db 0 -1 withscores
mysql5mongodb7oracle10redis25
#查询指定下标范围内的元素 192.168.65.15:6379 zrange db 2 3
oracleredis
#查询指定下标范围内的元素带分数 192.168.65.15:6379 zrange db 2 3 withscores
oracle10redis25 zrevrange 返回指定下标范围倒序的值start 下标从0开始查询所有范围是0到-1。
#查询所有 192.168.65.15:6379 zrevrange db 0 -1
redisoraclemongodbmysql
#查询所有元素带分数 192.168.65.15:6379 zrevrange db 0 -1 withscores
redis25oracle10mongodb7mysql5
#查询指定下标范围内的元素值 192.168.65.15:6379 zrevrange db 2 3
mongodbmysql zrangebyscore 返回指定分数区间元素的信息可以返回分数可以进行分页 limit offset countoffset指的是元素的下标从0开始count指返回的元素个数按正序返回。
#正序返回分数在0到30之间的元素信息 192.168.65.15:6379 zrangebyscore db 0 30 withscores
mysql5mongodb7oracle10redis25
#正序返回分数在0到30之间的元素信息并分页如果是0 -1 表示所有 192.168.65.15:6379 zrangebyscore db 0 30 withscores limit 0 -1
mysql5mongodb7oracle10redis25
#正序返回分数在0到30之间的元素信息并分页下标从0开始元素个数是1 192.168.65.15:6379 zrangebyscore db 0 30 withscores limit 0 1
mysql5
#正序返回分数在0到30之间的元素信息并分页下标从2开始元素个数是2 192.168.65.15:6379 zrangebyscore db 0 30 withscores limit 2 2
oracle10redis25 zrevrangebyscore 与zrangebyscore相比不同是倒序 。
#返回倒序分数30-0的所有元素 192.168.65.15:6379 zrevrangebyscore db 30 0 withscores limit 0 -1
redis25oracle10mongodb7mysql5
#返回倒序分数30-0进行分页下标从2开始取2条 192.168.65.15:6379 zrevrangebyscore db 30 0 withscores limit 2 2
mongodb7mysql5 zrank zrevrank zrank可以返回元素的正序名次名次从0开始第1名返回0。zrevrank可以返回元素的倒序名次名次也是从0开始第1名返回0。 #查看正序排名 192.168.65.15:6379 zrange db 0 -1
mysqlmongodboracleredis
#redis排名下标为3那就是第4名 192.168.65.15:6379 db redis (integer) 3
#redis排名倒序下标为0那就是第1名 192.168.65.15:6379 zrevrank db redis (integer) 0 zincrby zscore zincrby增加指定元素的分数zscore查询指定元素的分数 #查询一波数据 192.168.65.15:6379 zrange db 0 -1 withscores
mysql5mongodb7oracle10redis25
#元素mysql的分数3 192.168.65.15:6379 zincrby db 3 mysql 8
#重新查看排名 192.168.65.15:6379 zrange db 0 -1 withscores
mongodb7mysql8oracle10redis25
#单独查询mysql的分数 192.168.65.15:6379 zscore db mysql 8 zrem 返回删除成功元素个数。 #删除mysql元素 192.168.65.15:6379 zrem db mysql (integer) 1
#查询一下 192.168.65.15:6379 zrange db 0 -1
mongodboracleredis zremrangebyrank zremrangebyscore zremrangebyrank按排名次删除start从0开始。 zremrangebyscore按分数区间删除。 #删除0下标的元素 192.168.65.15:6379 zremrangebyrank db 0 0 (integer) 1
#查询已删除 192.168.65.15:6379 zrange db 0 -1 withscores
oracle10redis25
#按分数区间删除 192.168.65.15:6379 zremrangebyscore db 10 20 (integer) 1
#查询已删除 192.168.65.15:6379 zrange db 0 -1 withscores
redis25 四. 应用场景 只要涉及到排名、投票等场景都可以用zset。 举一个例子我们经常在微信上给邻居小朋友投票。 #初始明明mm 0票 花花0票 乔乔qq 0票 小小 0票 192.168.65.15:6379 zadd ranking 0 mm 0 hh 0 qq 0 xx (integer) 4
#查询一下初始值 192.168.65.15:6379 zrange ranking 0 -1 withscores
hh0mm0qq0xx0
#明明拉来10票 192.168.65.15:6379 zincrby ranking 10 mm 10
#花花拉来1000票 192.168.65.15:6379 zincrby ranking 1000 hh 1000
#乔乔拉来50票 192.168.65.15:6379 zincrby ranking 50 qq 50
#小小拉来30票 192.168.65.15:6379 zincrby ranking 30 xx
#最终排名花花1000 乔乔50 小小 30 明明 10票 192.168.65.15:6379 zrevrange ranking 0 -1 withscores
hh1000qq50xx30mm10
#经调查违规拉票取消资格 192.168.65.15:6379 zrem ranking hh (integer) 1
#最后只取第一名 192.168.65.15:6379 zrevrange ranking 0 0 withscores
qq50