Set
- Set 是 String 类型的无序的容器结构。集合成员是唯一的,不能出现重复的数据。
- Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)
添加集合数据
127.0.0.1:6379[2]> sadd set1 jack tom rose lili
(integer) 4
查看集合所有数据
127.0.0.1:6379[2]> smembers set1
1) "jack"
2) "tom"
3) "rose"
4) "lili"
查看集合数据的个数
127.0.0.1:6379[2]> scard set1
(integer) 4
查看集合中是否存在某个数据
127.0.0.1:6379[2]> sismember set1 yuanbo
(integer) 0
删除集合中某个数据
127.0.0.1:6379[2]> srem set1 rose
(integer) 1
127.0.0.1:6379[2]> smembers set1
1) "jack"
2) "tom"
3) "lili"
Zset
- 它是 String 类型元素的有序集合,每个元素唯一且都会关联一个 double 类型的分值,根据分值来为集合中的成员从小到大排序。
添加有序集合
127.0.0.1:6379[2]> zadd z1 70 jack 50 tom 80 rose
(integer) 3
查看有序集合的个数
127.0.0.1:6379[2]> zcard z1
(integer) 3
查看有序集合的所有key
127.0.0.1:6379[2]> zrange z1 0 -1
1) "tom"
2) "jack"
3) "rose"
查看有序集合的所有数据
127.0.0.1:6379[2]> zrange z1 0 -1 withscores
1) "tom"
2) "50"
3) "jack"
4) "70"
5) "rose"
6) "80"
让有序集合降序排序
127.0.0.1:6379[2]> zrevrange z1 0 -1 withscores
1) "rose"
2) "80"
3) "jack"
4) "70"
5) "tom"
6) "50"
查看有序集合中数据的下标---1.从头开始 2.从尾部开始
127.0.0.1:6379[2]> zrank z1 jack
(integer) 1
127.0.0.1:6379[2]> zrevrank z1 jack
(integer) 1