Redis有序集合(zset)

与哈希表相似,zset也是键-值对,但不同之处在于:

  • zset中的其中键被称为成员,而值称为分数,且值只能是浮点数

zset特点

  • 可通过成员访问
  • 可以通过顺序/位置/索引访问
  • 可以通过分数(值)访问

操作命令

命令描述
ZADD将给定分数的成员添加到ZSET
ZRANGE获取给定范围的ZSET中的条目
ZRANGEBYSCORE通过给定的分数范围获取ZSET中的条目
ZREM删除ZSET中的条目

创建ZSET


redis 127.0.0.1:6379> zadd r-zset 10 chengyuan1
(integer) 1
redis 127.0.0.1:6379> zadd r-zset 20 chengyuan2
(integer) 1
redis 127.0.0.1:6379> zadd r-zset 30 chengyuan3
(integer) 1
  • r-zset:有序集合的名称
  • 10、20、30:分数(值)
  • chengyuanX:成员(键)
  • (integer) 1:添加的是新成员返回1,已存在则返回0(添加失败)

查看整个集合

通过索引/位置来查看所有条目:


redis 127.0.0.1:6379> zrange r-zset 0 -1 withscores
1) "chengyuan1"
2) "10"
3) "chengyuan2"
4) "20"
5) "chengyuan3"
6) "30"

查特定分数范围内的条目

比如查看分数为20(包括)以内的成员:


redis 127.0.0.1:6379> zrangebyscore r-zset 0 20 withscores
1) "chengyuan1"
2) "10"
3) "chengyuan2"
4) "20"

删除成员

比如删除第一个成员:


redis 127.0.0.1:6379> zrem r-zset chengyuan1
(integer) 1
# 两个例子相互独立
redis 127.0.0.1:6379> zrem r-zset chengyuan1 chengyuan2
(integer) 2
  • (integer) 1:删除的成员数,若要删除的成员不存在则返回0

其他人还浏览了:



公众号

关注公众号,获取一手资讯

“ Redis有序集合(zset) ” comments 0

评论/回复

电子邮件地址不会被公开。 必填项已用*标注