Redis set常用命令
Redis set常用命令
set介绍:
在集合中的每个元素都是不同的,且没有顺序。一个集合类型(set)键可以存储至多2^32-1个字符串。集合类型和列表类型有相似之处,但很容易将它们区分开来
集合类型的常用操作是向集合中加入或删除元素、判断某个元素是否存在等,由于集合类型在Redis内部是使用值为空的散列表(hash table)实现的,所以这些操作的时间复杂度都是O(1)。最方便的是多个集合类型键之间还可以进行并集、交集和差集运算。
命令:
1、增加/删除元素 SADD SREM
SADD key member [member ...]
SREM key member [member ...]
SADD命令用来向集合中增加一个或多个元素,如果键不存在则会自动创建。因为在一个集合中不能有相同的元素,所以如果要加入的元素已经存在于集合中就会忽略这个元素。本命令的返回值是成功加入的元素数量(忽略的元素不计算在内)。
SREM命令用来从集合中删除一个或多个元素,并返回删除成功的个数,同样,如果元素不存在,则会忽略。
2、获取集合中的所有元素 SMEMBERS
SMEMBERS key
3、判断元素是否在集合中 SISMEMBER
SISMEMBER key member
判断一个元素是否在集合中是一个时间复杂度为O(1)的操作,无论集合中有多少个元素,SISMEMBER命令始终可以极快地返回结果。当值存在时 SISMEMBER 命令返回1,当值不存在或键不存在时返回0。
4、集合集合间运算 SDIFF SINTER SUNION
SDIFF key [key ...] 差集运算
SINTER key [key ...] 交集运算
SUNION key [key ...] 并集运算
都支持传入多个key,先计算key1与key2的差、交、并,再拿结果计算与key3的、交、并
5、获取集合中元素个数 SCARD
SCARD key 不存在返回0
6、进行集合运算并将结果存储 SDIFFSTORE SINTERSTORE SUNIONSTORE
SDIFFSTORE destination key [key ...]
SINTERSTORE destination key [key ...]
SUNIONSTORE destination key [key ...]
SDIFFSTORE命令和 SDIFF命令功能一样,唯一的区别就是前者不会直接返回运算结果,而是将结果存储在 destination键中。
7、随机获得集合中的元素 SRANDMEMBER
SRANDMEMBER key [count]
SRANDMEMBER命令用来随机从集合中获取一个元素。还可以传递count参数来一次随机获得多个元素,根据count的正负不同,具体表现也不同。
(1)当count为正数时,SRANDMEMBER会随机从集合里获得count个不重复的元素。如果 count的值大于集合中的元素个数,则 sRANDMEMBER 会返回集合中的全部元素。
(2)当count为负数时,SRANDMEMBER 会随机从集合里获得| countl个的元素,这些元素有可能相同。
更多推荐
所有评论(0)