python操作redis set_Python操作redis学习系列之(集合)set,redis set详解 (六)
#-*- coding: utf-8 -*-
importredis
r= redis.Redis(host="126.56.74.190",port=639,password="66666666")
1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。
假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。当集合 key 不是集合类型时,返回一个错误。
print r.sadd("1",1) #输出的结果是1
print r.sadd("1",2) #输出的结果是1
print r.sadd("1",2) #因为2已经存在,不能再次田间,所以输出的结果是0
print r.sadd("1",3,4) #输出的结果是2
print r.sinter("1") #输出的结果是set(['1', '3', '2', '4'])
2.Scard 命令返回集合中元素的数量。集合的数量。 当集合 key 不存在时,返回 0 。
print r.sadd("2",1) #输出的结果是1
print r.sadd("2",2,3,4,5) #输出的结果是1
print r.scard("2") #输出的结果是5
3.Sdiff 命令返回给定集合之间的差集。不存在的集合 key 将视为空集。
print r.sadd("31",1,2,3,4,5,6) #输出的结果是6
print r.sadd("32",4,5,6,7,8,9) #输出的结果是6
print r.sdiff(31,32) #输出的结果是set(['1', '3', '2'])
print r.sdiff(32,31) #输出的结果是set(['9', '8', '7'])
print r.sdiff(31,31) #输出的结果是set([])
4.Sdiffstore 命令将给定集合之间的差集存储在指定的集合中。如果指定的集合 key 已存在,则会被覆盖。
print r.sadd("41",1,2,3,4,5,6) #输出的结果是6
print r.sadd("42",4,5,6,7,8,9) #输出的结果是6
print r.sadd("43",0) #输出的结果是1
print r.sdiffstore("43","41","42") #输出的结果是3
print r.sinter("43") #输出的结果是 set(['1', '3', '2'])
5.Sinter 命令返回给定所有给定集合的交集。 不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
print r.sadd("51",3,4,5,6) #输出的结果是4
print r.sadd("52",1,2,3,4) #输出的结果是4
print r.sinter(51,52) #输出的结果是set(['3', '4'])
print r.sadd("53",1,2,3,4,5,6) #输出的结果是6
print r.sadd("54",3,4,5,6,7,8,9)#输出的结果是7
print r.sinter(53,54) #输出的结果是set(['3', '5', '4', '6'])
print r.sinter(53,56) #输出的结果是set([])
6.Sinterstore 命令将给定集合之间的交集存储在指定的集合中。如果指定的集合已经存在,则将其覆盖。
print r.sadd("61",3,4,5,6) #输出的结果是4
print r.sadd("62",1,2,3,4) #输出的结果是4
print r.sadd("63",0) #输出的结果是1
print r.sinterstore(63,61,62) #输出的结果是2
print r.sinter(63) #输出的结果是set(['3', '4'])
7.Sismember 命令判断成员元素是否是集合的成员。
如果成员元素是集合的成员,返回 1 。 如果成员元素不是集合的成员,或 key 不存在,返回 0 。
print r.sadd("71",1,2,3,4,5,6) #输出的结果是6
print r.sismember("71",1) #输出的结果是True
print r.sismember("71",2) #输出的结果是True
print r.sismember("71",7) #输出的结果是False
print r.sismember("71",8) #输出的结果是False
8.Smembers 命令返回集合中的所有的成员。 不存在的集合 key 被视为空集合。
print r.sadd("81",1,2,3,4,5,6) #输出的结果是6
print r.smembers(81) #输出的结果是set(['1', '3', '2', '5', '4', '6'])
print r.smembers(82) #输出的结果是set([])
9.Smove 命令将指定成员 member 元素从 source 集合移动到 destination 集合。
SMOVE 是原子性操作。
如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 False 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。
当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。
当 source 或 destination 不是集合类型时,返回一个错误。
如果成员元素被成功移除,返回 True。 如果成员元素不是 source 集合的成员,并且没有任何操作对 destination 集合执行,那么返回 False
print r.sadd("91",1,2,) #输出的结果是2
print r.sadd("92",3,4,) #输出的结果是2
print r.smove(91,92,1) #把91中的1移动到92中去,输出的结果是True
print r.smembers("91") #输出的结果是set(['2'])
print r.smembers("92") #输出的结果是set(['1', '3', '4'])
print r.smove(91,92,5) #91不存在5,输出的结果是False
print r.smembers("91") #输出的结果是set(['2'])
print r.smembers("92") #输出的结果是set(['1', '3', '4'])
10. Spop 命令用于移除并返回集合中的一个随机元素。
print r.sadd("10",1,2,3,4,5,6) #输出的结果是6
print r.spop("10") #输出的结果是3
print r.smembers("10") #输出的结果是set(['1', '2', '5', '4', '6'])
print r.spop("10") #输出的结果是1
print r.smembers("10") #输出的结果是set(['2', '5', '4', '6'])
11.Srandmember 命令用于返回集合中的一个随机元素。
从 Redis 2.6 版本开始, Srandmember 命令接受可选的 count 参数:
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动。
print r.sadd("11",1,2,3,4,5,6) #输出的结果是6
print r.srandmember(11) #输出的结果是4
print r.smembers(11) #输出的结果是set(['1', '3', '2', '5', '4', '6'])
print r.srandmember(11,3) #输出的结果是['6', '3', '1']
print r.smembers(11) #输出的结果是set(['1', '3', '2', '5', '4', '6'])
12. Srem 命令用于移除集合中的一个或多个成员元素,不存在的成员元素会被忽略。
当 key 不是集合类型,返回一个错误。
被成功移除的元素的数量,不包括被忽略的元素。
print r.sadd("12",1,2,3,4,5,6,7) #输出的结果是7
print r.srem("12",1) #输出的结果是1
print r.smembers("12") #输出的结果是set(['3', '2', '5', '4', '7', '6'])
print r.srem("12",8) #输出的结果是0
print r.smembers("12") #输出的结果是set(['3', '2', '5', '4', '7', '6'])
13.Sunion 命令返回给定集合的并集。不存在的集合 key 被视为空集。
print r.sadd("131",1,2,3,4,5,6,7) #输出的结果是7
print r.sadd("132",0,1,2,7,8,9) #输出的结果是6
print r.sunion(131,132) #输出的结果是set(['1', '0', '3', '2', '5', '4', '7', '6', '9', '8'])
print r.sunion(131,134) #输出的结果是set(['1', '3', '2', '5', '4', '7', '6'])
14.Sunionstore 命令将给定集合的并集存储在指定的集合 destination 中。
print r.sadd("141",1,2,3,4,5,6,7) #输出的结果是7
print r.sadd("142",0,1,2,3,4) #输出的结果是5
print r.sunionstore(143,141,142) #输出的结果是8
print r.smembers(143) #输出的结果是set(['1', '0', '3', '2', '5', '4', '7', '6'])
15.Sscan 命令用于迭代集合键中的元素。
print r.sadd("151",1,2,3,4,5,6,7) #输出的结果是7
print r.sscan(151,cursor=2,match=1,count=1) #输出的结果是 (0L, ['1'])
redis安装和配置(一) http://www.cnblogs.com/xuchunlin/p/6676308.html
redis学习 (key)键,Python操作redis 键 (二) http://www.cnblogs.com/xuchunlin/p/7061524.html
Python操作redis字符串(String)详解 (三) http://www.cnblogs.com/xuchunlin/p/7062065.html
Python操作redis系列以 哈希(Hash)命令详解(四) http://www.cnblogs.com/xuchunlin/p/7064860.html
Python操作redis系列之 列表(list) (五) http://www.cnblogs.com/xuchunlin/p/7067154.html
Python操作redis学习系列之(集合)set,redis set详解 (六)http://www.cnblogs.com/xuchunlin/p/7070267.html
python 操作redis之——有序集合(sorted set) (七) http://www.cnblogs.com/xuchunlin/p/7097272.html
python 操作redis之——HyperLogLog (八) http://www.cnblogs.com/xuchunlin/p/7097272.html
redis.windows.conf各项配置参数介绍 (九) http://www.cnblogs.com/xuchunlin/p/7097729.html
附录: 字符串命令
Redis 集合(Set) 命令
命令描述
返回给定所有集合的差集并存储在 destination 中
返回给定所有集合的交集并存储在 destination 中
判断 member 元素是否是集合 key 的成员
将 member 元素从 source 集合移动到 destination 集合
移除并返回集合中的一个随机元素
所有给定集合的并集存储在 destination 集合中
python操作redis set_Python操作redis学习系列之(集合)set,redis set详解 (六)相关推荐
- 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
- python卷积神经网络cnn的训练算法_【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理...
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
- python读取字典元素笔记_python学习笔记:字典的使用示例详解
经典字典使用函数 dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典.当然dict成为函数不是十分确切,它本质是一种类型.如同list. items=[('name','zhan ...
- 【SignalR学习系列】7. SignalR Hubs Api 详解(JavaScript 客户端)
SignalR 的 generated proxy 服务端 public class ContosoChatHub : Hub {public void NewContosoChatMessage(s ...
- python字典示例简单代码_python学习笔记:字典的使用示例详解
经典字典使用函数 dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典.当然dict成为函数不是十分确切,它本质是一种类型.如同list. 代码如下: items=[('name' ...
- SpringCloud学习系列之四-----配置中心(Config)使用详解
前言 本篇主要介绍的是SpringCloud中的分布式配置中心(SpringCloud Config)的相关使用教程. SpringCloud Config Config 介绍 Spring Clou ...
- [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 离线强化学习(Offline RL)系列3: (算法篇) Onestep 算法详解与实现
[更新记录] 论文信息: David Brandfonbrener, William F. Whitney, Rajesh Ranganath, Joan Bruna: "Offline R ...
- java中四种操作(DOM、SAX、JDOM、DOM4J)xml方式详解与比较(转)
java中四种操作(DOM.SAX.JDOM.DOM4J)xml方式详解与比较(转) http://wishlife.javaeye.com/blog/181865 posted on 2010-12 ...
最新文章
- html上传预览图片原理,关于html中图片上传预览的实现
- advice 和 拦截器_ControllerAdvice拦截器
- 网络拓扑图画图工具_一款功能强大的免费在线作图工具
- java calendar类_Java世界最常用的工具类库
- mysql设置主键可视化_mysql怎么设置主键自
- 修改tomcat的部署名称
- 3. 安装 phpmyadmin
- python基础教程菜鸟教程pdf-菜鸟教程 python pdf/Python菜鸟教程怎么样
- cocos2d-x 2.2 CocoStudio动画和界面编辑器按钮控制以及场景编辑器使用
- html日期框样式设置
- 计算机网络发展分几个阶段各有什么特点,计算机网络的发展可以划分为几个阶段?每个阶段都有什么特点?...
- 江苏农村商业银行计算机类笔试考什么时候,2020江苏农商行笔试考试内容是什么?...
- 【独行秀才】macOS Monterey 12.0 Beta4(21A5294g)原版镜像
- lambda中FirstOrDefault和First
- Hadoop 服务器IP地址的配置
- 小饶学编程之JAVA SE第二部分——MySql 数据库 开发:04Properties
- 使用蓝桥杯单片机实现ADC采集和实时时钟界面转换与报警功能
- 使用canvas写一个flappy bird小游戏
- 03_基于wiringPi的GPIO控制-蜂鸣器
- 按位取反如何运算 php,php 位运算中的按位取反到底什么意思?
热门文章
- Godaddy Windows主机组件支持情况
- ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的?...
- 入门机器学习(七)--神经网络
- VS2005 解决应用程序配置不正确,程序无法启动问题(小问题,大思想)
- error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.
- nacos dataid修改配置文件_nacos 配置中心自动化运维之namespace坑
- 注会考试不可以用计算机,CPA机考,不让带计算器该如何做?
- ai怎么渐变颜色_AI教程!渐变色噪点质感城堡场景插画绘制过程分享
- 时间复杂度O(n^2)和O(nlog n)差距有多大?
- 《CLR via C#》之线程处理——线程池与任务