链接地址:http://redisdoc.com/set/index.html
命令列表:
操作 | 命令 | 参数 | 返回值 |
---|---|---|---|
添加 | sadd | SADD key member [member …] | 被添加到集合中的新元素的数量,不包括被忽略的元素 |
查看数量 | scard | SCARD key | 数值 |
查看成员 | smembers | SMEMBERS key | 集合 |
随机查看成员 | srandmember | srandmember key num | 集合成员 |
元素移动 | smove | SMOVE source destination member | 布尔 |
删除随机元素 | spop | SPOP key | 被移除的元素 |
删除元素 | srem | SREM key member [member …] | 被成功移除的元素的数量,不包括被忽略的元素 |
验证元素的存在性 | sismember | SISMEMBER key member | 布尔 |
取差集 | sdiff | SDIFF key [key …] | 列表 |
取差集入集合 | sdiffstore | SDIFFSTORE destination key [key …] | 结果集中的元素数量 |
取交集 | sinter | SINTER key [key …] | 列表 |
取交集入集合 | sinterstore | SINTERSTORE destination key [key …] | 结果集中的元素数量 |
取并集 | sunion | SUNION key [key …] | 列表 |
取并集入集合 | sunionstore | SUNIONSTORE 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")