redis 数据结构
来源:互联网 发布:云端笔记 知乎 编辑:程序博客网 时间:2024/06/05 00:20
10.3 集合 -set(无序,元素具有唯一性)
10.3.1 添加
命令:sadd key value 测试: 127.0.0.1:6379> sadd gender male female (integer) 2 127.0.0.1:6379> sadd gender yoa yoa (integer) 1
10.3.2 查看
命令:smembers key 测试: 127.0.0.1:6379> smembers gender 1) "male" 2) "female
10.3.3 删除
命令:srem key value 测试: 127.0.0.1:6379> srem gender male (integer) 1 127.0.0.1:6379> smembers gender 1) "female"
10.3.4 随机取出set中的指定数量的值,并删除集合中的元素
命令:spop key num 测试: 127.0.0.1:6379> sadd zimu a b c d e f g (integer) 7 127.0.0.1:6379> spop zimu "e" 127.0.0.1:6379> smembers zimu 1) "c" 2) "b" 3) "d" 4) "a" 5) "g" 6) "f" 127.0.0.1:6379> spop zimu 2 1) "f" 2) "b" 127.0.0.1:6379> smembers zimu 1) "c" 2) "d" 3) "a" 4) "g" 127.0.0.1:6379> spop zimu 3 1) "g" 2) "c" 3) "a" 127.0.0.1:6379> smembers zimu 1) "d"
10.3.5 随机取出set中的指定数量的值,但不删除集合中的元素
命令:srandmember key num 测试: 127.0.0.1:6379> sadd zimu a b c d e f g (integer) 6 127.0.0.1:6379> srandmember zimu "a" 127.0.0.1:6379> smembers zimu 1) "c" 2) "e" 3) "b" 4) "d" 5) "g" 6) "f" 7) "a" 127.0.0.1:6379> srandmember zimu 3 1) "b" 2) "f" 3) "g" 127.0.0.1:6379> smembers zimu 1) "c" 2) "e" 3) "b" 4) "d" 5) "g" 6) "f" 7) "a"
10.3.6 查看集合中是否存在某一个元素
命令:sismember key value 存在返回1,不存在返回0 测试: 127.0.0.1:6379> smembers zimu 1) "c" 2) "e" 3) "b" 4) "d" 5) "g" 6) "f" 7) "a" 127.0.0.1:6379> sismember zimu a (integer) 1 127.0.0.1:6379> sismember zimu l (integer) 0
10.3.7 查看集合中元素的个数
命令:scard key 测试: 127.0.0.1:6379> smembers zimu 1) "c" 2) "e" 3) "b" 4) "d" 5) "g" 6) "f" 7) "a" 127.0.0.1:6379> scard zimu (integer) 7
10.3.8 将一个集合中元素移动到另外一个集合中
命令:smove src dest value 测试: 127.0.0.1:6379> smembers zimu 1) "c" 2) "e" 3) "b" 4) "d" 5) "g" 6) "f" 7) "a" 127.0.0.1:6379> smove zimu zimu1 c (integer) 1 127.0.0.1:6379> smembers zimu 1) "e" 2) "b" 3) "d" 4) "g" 5) "f" 6) "a" 127.0.0.1:6379> smembers zimu1 1) "c" 127.0.0.1:6379> scard zimu (integer) 6 127.0.0.1:6379> scard zimu1 (integer) 1 127.0.0.1:6379> smove zimu zimu1 l (integer) 0 127.0.0.1:6379> scard zimu (integer) 6 127.0.0.1:6379> scard zimu1 (integer) 1 127.0.0.1:6379> smembers zimu 1) "e" 2) "b" 3) "d" 4) "g" 5) "f" 6) "a" 127.0.0.1:6379> smembers zimu1 1) "c"
10.3.9 求集合的交集
命令:sinter key1 key2 key3 ... 测试: 127.0.0.1:6379> sadd lisi a b c d e (integer) 5 127.0.0.1:6379> sadd wang a c d f g (integer) 5 127.0.0.1:6379> sadd zhang c d f k j (integer) 5 127.0.0.1:6379> sinter lisi wang zhang 1) "c" 2) "d"
10.3.10 求集合的并集
命令:sunion key1 key2 key3 ... 测试: 127.0.0.1:6379> sunion lisi wang zhang 1) "d" 2) "b" 3) "g" 4) "f" 5) "a" 6) "j" 7) "k" 8) "e" 9) "c"
10.3.11 求集合的差集
命令:sdiff key1 key2 key3 ... 测试: 127.0.0.1:6379> sdiff lisi wang 1) "b" 2) "e" 127.0.0.1:6379> sdiff wang lisi 1) "g" 2) "f" 127.0.0.1:6379> sdiff wang lisi zhang 1) "g"
10.3.12 求集合的交集并存储
命令:sinterstore dest key1 key2 .... 测试: 127.0.0.1:6379> sinterstore destinter lisi wang (integer) 3 127.0.0.1:6379> smembers destinter 1) "c" 2) "d" 3) "a"
10.3.13 求集合的并集并存储
命令:sunionstore dest key1 key2 ... 测试: 127.0.0.1:6379> sunionstore destunion lisi wang (integer) 7 127.0.0.1:6379> smembers destunion 1) "c" 2) "e" 3) "b" 4) "d" 5) "g" 6) "f" 7) "a"
10.3.14 求集合的差集并存储
命令:sdiffstore dest key1 key2 ... 测试: 127.0.0.1:6379> sdiffstore destdiff lisi wang (integer) 2 127.0.0.1:6379> smembers destdiff 1) "b" 2) "e"
阅读全文