当前位置: 移动技术网 > IT编程>数据库>MongoDB > 理解 Redis(8) - Ordered set 值

理解 Redis(8) - Ordered set 值

2019年02月22日  | 移动技术网IT编程  | 我要评论

猎艳修真,阿甘正传 下载,哈票网 江门

ordered set 是根据 score值有序排列的数据集合.

首先还是清空数据, 并清屏, 此步骤省略~~~~

新建一条 ordered set 数据 myset1, 并存入4个字符串, score 的排列顺序为1-4:

127.0.0.1:6379> zadd myset1 1 a 2 b 3 c 4 d
(integer) 4

查看这个数据:

127.0.0.1:6379> zrange myset1 0 -1
1) "a"
2) "b"
3) "c"
4) "d"

给 myset1 的值里新加一个字符e, score=100:

127.0.0.1:6379> zadd myset1 100 e
(integer) 1

查看最新的 myset1 的值:

127.0.0.1:6379> zrange myset1 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"

查看 myset1 的值里一共有几条数据:

127.0.0.1:6379> zcard myset1
(integer) 5

根据指定的 score 的范围查看 myset1 的值里一共有几条数据:

127.0.0.1:6379> zcount myset1 1 3
(integer) 3
127.0.0.1:6379> zcount myset1 1 5
(integer) 4
127.0.0.1:6379> zcount myset1 1 55
(integer) 4
127.0.0.1:6379> zcount myset1 1 101
(integer) 5
127.0.0.1:6379> zcount myset1 1 100
(integer) 5
127.0.0.1:6379> zcount myset1 1 99
(integer) 4

删除 myset1 值里的某个数据:

127.0.0.1:6379> zrem myset1 b
(integer) 1
127.0.0.1:6379> zrange myset1 0 -1
1) "a"
2) "c"
3) "d"
4) "e"
127.0.0.1:6379> zrem myset1 d
(integer) 1
127.0.0.1:6379> zrange myset1 0 -1
1) "a"
2) "c"
3) "e"

查看某个数据的索引值:

127.0.0.1:6379> zrank myset1 e
(integer) 2
127.0.0.1:6379> zrank myset1 a
(integer) 0

反排序后查询索引:

127.0.0.1:6379> zrevrank myset1 a
(integer) 2
127.0.0.1:6379> zrevrank myset1 e
(integer) 0

查询 score值, 没有的返回 nil:

127.0.0.1:6379> zscore myset1 e
"100"
127.0.0.1:6379> zscore myset1 a
"1"
127.0.0.1:6379> zscore myset1 jsjs
(nil)

支持对同一个 score值设置多个不同的数据:

127.0.0.1:6379> zrange myset1 0 -1
1) "a"
2) "c"
3) "e"
127.0.0.1:6379> zadd myset1 1 aaaa
(integer) 1
127.0.0.1:6379> zrange myset1 0 -1
1) "a"
2) "aaaa"
3) "c"
4) "e"
127.0.0.1:6379> zadd myset1 1 bbbb
(integer) 1
127.0.0.1:6379> zrange myset1 0 -1
1) "a"
2) "aaaa"
3) "bbbb"
4) "c"
5) "e"

查询 score值, 再次证明 ordered set 支持对同一个 score值设置多个不同的数据:

127.0.0.1:6379> zscore myset1 a
"1"
127.0.0.1:6379> zscore myset1 aaaa
"1"
127.0.0.1:6379> zscore myset1 bbbb
"1"

查询索引:

127.0.0.1:6379> zrank myset1 a
(integer) 0
127.0.0.1:6379> zrank myset1 aaaa
(integer) 1
127.0.0.1:6379> zrank myset1 bbbb
(integer) 2

根据指定的 score值的范围查出数据:

127.0.0.1:6379> zrangebyscore myset1 1 2
1) "a"
2) "aaaa"
3) "bbbb"
127.0.0.1:6379> zrangebyscore myset1 1 4
1) "a"
2) "aaaa"
3) "bbbb"
4) "c"

以上, 就是关于 ordered set 的相关命令, enjoy~~~~

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网