欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Redis学习(六)数据存储类型——sorted_set(zset)

程序员文章站 2024-03-01 08:00:58
...

sorted_set的结构

Redis学习(六)数据存储类型——sorted_set(zset)

sorted_set的特点

  1. 支持排序
  2. value值是唯一的
  3. 可以存储大量数据

 

sorted_set的基本操作

添加数据

zadd key score1 member1 score2 member2 ...

获取数据(withscores表达的是是否连scores一起返回)

zrange key start stop [withscores]            // 根据score从低到高返回
zreverage key start stop [withscores]         // 根据score从高到低返回

删除数据

zrem key member ...

根据score条件获取数据(Limit和sql分页用法一样)

zrangebyscore key min max [withscores] [limit]
zreveragebyscore key min max [withscores]

根据条件删除数据

zremrangebyrank key start stop        // 根据下标删除数据
zremrangebyscore key min max          // 根据score条件删除数据

获取数据总量

zcard key                    // 查询key下有多少数据
zcount key min max           // 查询key下 score条件有多少数据

集合交集、并集操作

zinterstore destionation numkeys key ...
求交集,结果是相同的value值不变,对应的score相加

zinterstore destionation numkeys key ... [aggregate MAX|MIN|SUM ]
求交集,结果是相同的value值不变,对应的score取最大值|最小值|和

zunionstore destionation numkeys key ... [aggregate MAX|MIN|SUM ]
求并集,结果是相同的value值不变,对应的score取最大值|最小值|和

 

扩展操作

获取数据对应下标(从0开始)

zrank key member            // 正向排序获取下标
zrevrank key member         // 反向排序获取下标

score值的获取和修改

zscore key member                        // 根据key member获取score的值
zincrby key increment member             // 根据key member获取的score值+increment

 

sorted-set注意事项:

  1. score可以是double类型的值,但是使用double类型的值可能会有丢失精度的风险,建议使用整数

 

 

 

相关标签: Redis redis