(七)Redis数据库-Redis数据类型zset(有序集合)

(七)Redis数据库-Redis数据类型zset(有序集合)


我的系统版本为CentOS7.5,redis版本5.0.4

zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。

#userset集合中添加super1 super2 super3,依次排列,如果元素已经存在则更新score值
zadd userzset 0 super1 1 super2 2 super3

#读取userzset集合中的score在1100之间的元素,score从小到大排列
zrangebyscore userzset 1 100

#读取userzset集合中的score在1100之间的元素,score从大到小排列
zrevrangebyscore userzset 1 100

#读取userzset集合中的索引01的元素,-1代表最后一个,可以使用withscores显示score,score从小到大排列
zrange userzset 0 1

#读取userzset集合中的索引01的元素,-1代表最后一个,可以使用withscores显示score,score从大到小排列
zrevrange userzset 0 1

#读取userzset集合中大于等于a,小于c的元素
zrangebyles userzset [a (c
#读取userzset集合中小于c的元素
zrangebyles userzset - (c

#读取userzset集合元素个数
zcard userzset

#统计userzset集合指定score区间的元素个数
zcount userzset 1 5

#统计userzset集合指定字典区间的元素个数
zlexcount userzset - +
zlexcount userzset [a [f

#给userzset集合user的score增加5
zincrby userzset 5 user

#计算userzset和newuserz的交集并将结果保存到myzset,默认情况下score求和
zinterstore myzset 2 userzset newuserz

#显示user在userzset中的索引,从小到大的排名
zrank userzset user

#显示user在userzset中的倒序索引,从大到小的排名
zrevrank userzset user

#显示所有元素
zrank userzset 0 -1

#移除userzset中的user1和user2
zrem userzset user1 user2

#移除userzset中的score在60100之间的元素
zrembyscore userzset 60 100

#移除userzset中的a到f所有的元素
zrembylex userzset [a [f

#移除userzset中的下标索引05所有的元素
zrembyrank userzset 0 5

#获取元素的score值
zscore userzset user

#计算userzset和newuserz的并集并存储到myzset中,score权重1:3
zunionstore myzset 2 userzset newuserz WEIGHTS 1 3

#遍历userzset以x开头的元素
zscan userzset 0 match x*

更多详细命令:http://doc.redisfans.com/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值