redis集合系列之一

21 篇文章 0 订阅

目录

 

sadd

sismember

spop

srandmember


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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值