Redis 学习笔记 数据类型 - sortedset
Redis排序集合是排序的集合,其元素是二进制安全的字符串。排序集合按照分数进行排序,同时支持set的集合操作,比如
合并,交集,差集。排序的规则是按分数进行,如果分数相同的话,按字符的字典顺序进行。
添加元素,添加元素时需要指定score
127.0.0.1:6442> zadd zset1 2001 A1
(integer) 1
127.0.0.1:6442> zadd zset1 2002 A2
(integer) 1
127.0.0.1:6442> zadd zset1 1999 A3
(integer) 1
127.0.0.1:6442> zadd zset1 1998 A4
(integer) 1
127.0.0.1:6442> zadd zset1 1997 A5
(integer) 1
127.0.0.1:6442> zadd zset1 2003 A6
(integer) 1
127.0.0.1:6442> zadd zset1 2003 A7
(integer) 1
127.0.0.1:6442> zadd zset1 2004 A9
(integer) 1
127.0.0.1:6442> zadd zset1 2005 A9
(integer) 0
127.0.0.1:6442>
根据score的范围查找集合中的数据,-1表示返回所有数据。
127.0.0.1:6442> zrange zset1 0 -1
1) "A5"
2) "A4"
3) "A3"
4) "A1"
5) "A2"
6) "A6"
7) "A7"
8) "A9"
根据score的范围查找集合中的数据,-1表示返回所有数据。逆序返回。
127.0.0.1:6442> zrevrange zset1 0 -1
1) "A9"
2) "A7"
3) "A6"
4) "A2"
5) "A1"
6) "A3"
7) "A4"
8) "A5"
根据score的范围查找集合中的数据,-1表示返回所有数据。并返回带有分数。
127.0.0.1:6442> zrange zset1 0 -1 withscores
1) "A5"
2) "1997"
3) "A4"
4) "1998"
5) "A3"
6) "1999"
7) "A1"
8) "2001"
9) "A2"
10) "2002"
11) "A6"
12) "2003"
13) "A7"
14) "2003"
15) "A9"
16) "2005"
根据score的范围查找集合中的数据,-inf表示小于某个值都返回。
127.0.0.1:6442> zrangebyscore zset1 -inf 2001
1) "A5"
2) "A4"
3) "A3"
4) "A1"
返回某个值的rank。
127.0.0.1:6442> zrange zset1 0 -1 withscores
1) "A5"
2) "1997"
3) "A4"
4) "1998"
5) "A3"
6) "1999"
7) "A9"
8) "2005"
127.0.0.1:6442> zrank zset1 A5
(integer) 0
127.0.0.1:6442> zrank zset1 "A5"
(integer) 0
127.0.0.1:6442> zrank zset1 "A4"
(integer) 1
127.0.0.1:6442> zrank zset1 "A3"
(integer) 2
127.0.0.1:6442> zrank zset1 "A9"
(integer) 3
根据值的字母顺序查找集合中的数据。
127.0.0.1:6442> zrange zset2 0 -1
1) "A1"
2) "A2"
3) "B1"
4) "B2"
5) "B3"
6) "C1"
7) "D1"
127.0.0.1:6442> zrangebylex zset2 [B [D
1) "B1"
2) "B2"
3) "B3"
4) "C1"
127.0.0.1:6442> zrangebylex zset2 [B [D]
1) "B1"
2) "B2"
3) "B3"
4) "C1"
5) "D1"
127.0.0.1:6442> zrangebylex zset2 [B] [D]
1) "C1"
2) "D1"
更新某个值的score,增加时如果值已经存在,就将score更新。
127.0.0.1:6442> zrange zset1 0 -1 withscores
1) "A5"
2) "1997"
3) "A4"
4) "1998"
5) "A3"
6) "1999"
7) "A9"
8) "2005"
127.0.0.1:6442> zadd zset1 2006 A9
(integer) 0
127.0.0.1:6442> zrange zset1 0 -1 withscores
1) "A5"
2) "1997"
3) "A4"
4) "1998"
5) "A3"
6) "1999"
7) "A9"
8) "2006"
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25105315/viewspace-2122062/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25105315/viewspace-2122062/