Redis 有序集合(zset) 类似于  Redis 集合(set),只是它多了一个score字段,这样意味着它的集合可以按照score从低到高有序排列,这也是为什么它可以做到有序的原因。

示例:

redis 127.0.0.1:6379> ZADD yxjc123 1 redis
(integer) 0
redis 127.0.0.1:6379> ZADD yxjc123 2 cassandra
(integer) 1
redis 127.0.0.1:6379> ZADD yxjc123 3 cassandra
(integer) 0
redis 127.0.0.1:6379> ZADD yxjc123 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD yxjc123 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE yxjc123 0 10 WITHSCORES
1) "redis"
2) "1"
3) "cassandra"
4) "3"
5) "mysql"
6) "4"
Redis 有序集合(zset) 命令大全
序号命令说明
1

zadd key score1 member1[score2 member2]

用于将一个或多个成员添加到排序集中,或更新其分数(如果已存在)
2zcard key用于获取排序集中的成员数
3zcount key min max用于在给定值范围内计算排序集中的成员数
4zincrby key increment member用于在有序集合中增加成员的分数
5zinterstore destination numkeys key[key ...]用于求多个排序集的交集并将生成的排序集存储在一个新的键中
6zlexcount key min max用于统计给定排序集内的有序集合中的成员数
7zrange key start stop[withscores]用于按索引返回排序集中的成员范围
8zrangebylex key min max [limit offset count]用于按字典范围返回排序集中的成员范围
9zrangebyscore key min max [withscores] [limit]用于按分数返回排序集中的成员范围
10zrank key member用于确定一个成员在有序集合中的索引
11zrem key member[member ...]用于从排序集中删除一个或多个成员
12zremrangebylex key min max用于删除给定字典范围内的有序集合中的所有成员
13zremrangebyrank key start stop用于删除给定索引内排序集中的所有成员
14zremrangebyscore key min max用于删除给定分数内排序集中的所有成员
15zrevrange key start stop [withscores]用于返回排序集中的成员范围,按索引,分数从高到低排序
16zrevrangebyscore key max min [withscores]用于返回排序集中的成员范围,按分数,分数从高到低排序
17zrevrank key member用于确定一个成员在有序集合中的索引,分数从高到低排序
18zscore key member用于在排序集中检索与给定成员关联的分数
19zunionstore destination numkeys key [key ...]用于添加多个排序集,并将生成的排序集存储在新的键中
20zscan  key cursor[match pattern] [count count]用于增量迭代已排序的集合元素和相关分数