目录
sadd
1.语法
sadd key member [member...]
2.解析
将一个或者多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略
假如key不存在,则创建一个只包含member元素作成员的集合
当key不是集合类型时,返回一个错误
2.4以前 sadd只接受单个member值
3.返回值:
被添加到集合中的新元素的数量,不包括被忽略的元素
4.例子:
#添加单个元素
sadd baidu "baidu.com"
#添加重复元素
sadd baidu "baidu.com"
#添加多个元素
sadd baidu "sisophon.cn" "google.com"
smembers baidu
sismember
1.语法
sismember key member
2.解析
判断member元素是否集合key成员。
3.返回值:
如果member元素是集合的成员,返回1.如果member元素不是集合的成员,或key不存在,返回0
4.例子:
smember baidu
sismember baidu "aliyun.com"
sismember baidu "baidu.com"
spop
1.语法
spop key
2.解析
移除并返回集合中的一个随机元素
如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用srandmember命令
3.返回值:
被移除的随机元素。当key不存在或key是空集时,返回nil
4.例子:
smembers baidu
spop baidu
smembers baidu
spop baidu
smembers baidu
srandmember
1.语法
srandmember key [count]
2.解析
如果执行命令,只提供了key参数,那么返回集合中的一个随机元素。
2.6版本开始,srandmember命令接受可选的count参数:
如果count为正数,且小于集合基数,那么命令返回一个包含count个元素的数组,数组中的元素各不相同。
如果count大于等于集合基数,那么返回整个集合
如果count为负数,那么命令返回一个数组,数组中的元素可能会重复的出现多次,而数组的长度为count的绝对值
该操作和spop相似,但spop将随机元素从集合中移除并返回,而srandmember仅仅返回随机元素,而不对集合进行任何的改动
3.返回值
只提供key参数时,返回一个元素;如果集合为空,返回nil.如果提供了count参数,那么返回一个数组;如果集合为空,返回空数组
4.例子
#添加元素
sadd fruit apple banana orange
#只给定key参数 返回一个随机元素
srandmember fruit
srandmember fruit
#给定3为count参数 返回3个随机元素
#每个随机元素都不同
srandmember fruit 3
#给定-3为count参数 返回3个随机元素
#元素可能会重复出现多次
srandmember fruit -3
srandmember fruit -3
#如果count是负数 且count的绝对值大于集合的基数
#那么返回的数组的长度为count的绝对值
srandmember fruit -10
#srandmember并不会修改集合内容
smember fruit
#集合为空时返回nil或者空数组
srandmember google
srandmember google 10