Redis的集合操作命令
qingheluo2019-08-13清河洛160
set是string类型的无序集合,通过哈希表实现,集合内元素不允许重复。每个set可以存储2^32-1个元素(4294967295)添加/删除命令:sadd key member [member ...] 将一个或多个member元素加入到集合key当中,已经存在的member元素将被忽略
key不存在则创建一个新集合并进行sadd操作
返回被添加到集合中的新元素的数量(不包括被忽略的元素)
srem key member [member ...]:移除集合key中的一个或多个member元素,不存在的member元素会被忽略,返回被成功移除的元素的数量(不包括被...
set是string类型的无序集合,通过哈希表实现,集合内元素不允许重复。每个set可以存储2^32-1个元素(4294967295)
添加/删除命令:
sadd key member [member ...]
将一个或多个member元素加入到集合key当中,已经存在的member元素将被忽略 key不存在则创建一个新集合并进行sadd操作 返回被添加到集合中的新元素的数量(不包括被忽略的元素)
srem key member [member ...]:移除集合key中的一个或多个member元素,不存在的member元素会被忽略,返回被成功移除的元素的数量(不包括被忽略的元素)
smove source destination member
将member元素从source集合移除并添加到destination集合 如果member元素被成功移除并添加到指定集合,返回1 如果source集合不存在或不包含指定的member元素,不执行任何操作,仅返回0
spop key:移除并返回集合中的一个随机元素,当key不存在或key是空集时返回nil
获取命令:
smembers key:返回集合key中的所有成员。不存在的key被视为空集合
srandmember key [count]
返回集合中指定条件的元素 不提供count只提供key,返回集合中一个随机元素,如果集合为空返回nil,该操作和spop相似,该操作仅仅返回随机元素,而不对集合进行任何改动 提供了count参数(假定集合的基数为n): 0<=count=n:返回整个集合 count<0:返回一个包含count绝对值个key的元素组成的数组,数组中的元素可能会重复出现多次
差集/交集/并集命令:
sdiff key [cut_key ...]
返回key和sut_key的差集(删除key集合中key和sut_key都包含的元素)的所有元素 不存在的key或cut_key被视为空集,所以sdiff key会返回key的所有元素
sdiffstore destination key [cut_key ...]
作用和sdiff类似,但它将结果保存到destination集合,而不是简单地返回结果集。 如果destination集合已经存在,则将其覆盖 destination可以是key本身 返回差集中的元素数量
sinter key [overlap_key ...]
返回所有给定集合的交集(只保留key和overlap_key都包含的元素)的所有元素 不存在的key或overlap_key被视为空集,所以sinter key会返回空集
sinterstore destination key [overlap_key ...]
作用和sinter类似,但它将结果保存到destination集合,而不是简单地返回结果集。 如果destination集合已经存在,则将其覆盖 destination可以是key本身 返回交集中的元素数量
sunion key [key ...]:返回一个或多个集合的并集的全部成员
sunionstore destination key [key ...]
作用和sunion类似,但它将结果保存到destination集合,而不是简单地返回结果集。 如果destination集合已经存在,则将其覆盖 destination可以是key本身 返回并集中的元素数量
其他命令:
sismember key member
判断member元素是否集合key的成员 member是集合的成员返回1 member不是集合的成员,或key不存在,返回0
scard key:返回key的基数(集合中元素的数量),key不存在时返回0