redis---set(集合)

链接地址:http://redisdoc.com/set/index.html

命令列表:


操作命令参数返回值
添加saddSADD key member [member …]被添加到集合中的新元素的数量,不包括被忽略的元素
查看数量scardSCARD key数值
查看成员smembersSMEMBERS key集合
随机查看成员srandmembersrandmember key num集合成员
元素移动smoveSMOVE source destination member布尔
删除随机元素spopSPOP key被移除的元素
删除元素sremSREM key member [member …]被成功移除的元素的数量,不包括被忽略的元素
验证元素的存在性sismemberSISMEMBER key member布尔
取差集sdiffSDIFF key [key …]列表
取差集入集合sdiffstoreSDIFFSTORE destination key [key …]结果集中的元素数量
取交集sinterSINTER key [key …]列表
取交集入集合sinterstoreSINTERSTORE destination key [key …]结果集中的元素数量
取并集sunionSUNION key [key …]列表
取并集入集合sunionstoreSUNIONSTORE destination key [key …]结果集中的元素数量

添加一个或多个:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#添加set类型的数据
print cli.sadd("set","1","a","123")
print cli.sadd("set1","liuqin")
print cli.sadd("set2","1","lipeng","123")

查看value的数量:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#查看key对应的value数量
print cli.scard("set")

查看成员:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#查看集合的所有成员
print cli.smembers("set")

随机查看成员信息

# 随机查看成员信息
cli.srandmember(name="vcc:customer_nube_pool:2020040801",number= 5 )

元素移动:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#将元素从集合A移动到集合B
print cli.smove(src="set",dst="set1",value="123")

删除随机元素:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#移除集合中的随机元素
print cli.spop("set4")

删除集合中一个或多个元素:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#移除集合中的一个或多个元素
print cli.srem("set",1,"a")

验证value是否是key的成员:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#验证value是否是key的成员
print cli.sismember("set","1")
print cli.sismember("set","2")

取差集:

  • 查看第一个集合和其他所有集合的差集(下边的例子就是:set1和set做和,然后和set2做差)
##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#查看第一个集合和其他所有集合的差集(下边的例子就是:set1和set做和,然后和set2做差)
print cli.sdiff("set2","set1","set")

取差集(返回值入集合):

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#和sdiff一致,只是结果存放到set3中
print cli.sdiffstore("set3","set","set1")

取交集:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#查看所有集合的交集
print cli.sinter("set","set1","set2")

取交集(返回值入集合):

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#收集后边几个集合的交集到set4
print cli.sinterstore("set4","set","set2")

取并集:

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#返回所有集合的并集
print cli.sunion("set","set1")

取并集(返回值入集合):

##----以集群形式连接redis----
sentinel = Sentinel([(ip[0],port[0]),(ip[1],port[1]),(ip[2],port[2])])
cli = sentinel.master_for(service_name=service_name,db=db)

#返回所有集合的并集,并赋值给一个新的集合
print cli.sunionstore("set5","set","set1")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值