Redis常见数据类型五:Sorted Set
Sorted Set类型
新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式。
需要的存储结构:新的存储模型,可以保存可排序的数据。
Sorted Set类型数据的操作
基础操作
添加数据
格式:zadd key score member [score1 member1]
删除数据
格式:zrem key member [member1]
获取全部数据(正序)
格式:zrange key start stop [withscores]
获取全部数据(倒序)
格式:zrevrange key start stop [withscores]
按条件获取数据(正序)
格式:zrangebyscore key min max [withscore limit]
按条件获取数据(倒序)
格式:zrevrangebyscore key max min [withscore limit]
条件删除数据(索引)
格式:zremrangebyrank key start stop
条件删除数据(范围)
格式:zremrangebyscore key min max
获取集合数据总量
格式:zcard key
获取集合数据总量(范围)
格式:zcount key min max
存储集合交集
格式:zinterstore destination numkeys key key1
存储集合并集
格式:zunionstore destination numkeys key key1
扩展操作
获取数据对应的索引(正序)
格式:zrank key member
获取数据对应的索引(倒序)
格式:zrevrank key member
score值获取
格式:zscore key member
score值修改
格式:zincrby key num member
Sorted Set类型数据操作的注意事项
score保存的数据存储空间是64位,如果是整数范围是-9007199254740992~9007199254740992
score保存的数据也可以是一个双精度的double值,基于双精度浮点数的特征,可能会丢失精度,使用时候要慎重
sorted_set 底层存储还是基于set结构的,因此数据不能重复,如果重复添加相同的数据,score值将被反复覆盖,保留最后一次修改的结果
End!