Redis笔记---set

1.redis set的介绍redis

   集合中的数据是不重复且没有顺序,集合类型和列表类型的对比。spa

   集合类型:存储的是的是最多2的32次方减一个字符串,数据是没有顺序的,可是数据是惟一的code

  列表类型:最多存储内容最多2的32次方减一个字符串,数据是有序的,它的数据不是惟一的。blog

  集合类型的经常使用操做是向集合中假如或者删除元素。判断某个元素是否存在等,因为集合类型的Redis内部是使用值为空的散转表实现,全部这些操做的时间复杂度都为o(1);rem

  redis还提供了多个集合之间的交集、并集、差集的运算字符串

2.命令:io

(1)增长、删除元素ast

 语法:SADD key member [member ……]class

127.0.0.1:6379> sadd set a b c (integer) 3
127.0.0.1:6379> sadd set a (integer) 0

 语法:SREM key member [member……]语法

127.0.0.1:6379> srem set c d (integer) 1

(2)得到集合中的全部元素

语法:SMEMBERS key

smembers key 1) "b"
2) "a”

(3)判断元素是否在集合中

语法:sismember key member  存在值为1,不存在值为0

127.0.0.1:6379> sismember set a (integer) 1
127.0.0.1:6379> sismember set h (integer) 0

(4)运算命令

   集合的差集运算A-B,属于A可是不属于B

   语法:sdiff key [key……]

127.0.0.1:6379> sadd setA 1 2 3 (integer) 3
127.0.0.1:6379> sadd setB 2 3 4 (integer) 3
127.0.0.1:6379> sdiff setA setB 1) "1"
127.0.0.1:6379> sdiff setB setA 1) "4"

集合交集运算,属于A且属于B元素构成的集合

语法:sinter key key ……

127.0.0.1:6379> sinter setA setB 1) "2"
2) "3"

集合的并集运算,A和B一块儿组成的数据

sunion key key ……

127.0.0.1:6379> sunion setA setB 1) "1"
2) "2"
3) "3"
4) "4"

获取集合的元素个数

语法:scard key

127.0.0.1:6379> scard setA 
(integer) 3

从集合中弹出一个元素,因为集合是无序的,全部spop命令会从集合中随机选择一个元素弹出

语法:spop key

127.0.0.1:6379> spop setA "1“

 

 

 

127.0.0.1:6379> sadd set a b c

(integer) 3

127.0.0.1:6379> sadd set a

(integer) 0

相关文章
相关标签/搜索