# -*- coding: utf-8 -*-
import redis
r = redis.Redis(host="126.56.74.190",port=639,password="")
1. Sadd 命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。
假如集合 key 不存在,则创建一个只包含添加的元素作成员的集合。当集合 key 不是集合类型时,返回一个错误。
print r.sadd("",1)     #输出的结果是1
print r.sadd("",2) #输出的结果是1
print r.sadd("",2) #因为2已经存在,不能再次田间,所以输出的结果是0
print r.sadd("",3,4) #输出的结果是2
print r.sinter("") #输出的结果是set(['1', '3', '2', '4'])
2.Scard 命令返回集合中元素的数量。集合的数量。 当集合 key 不存在时,返回 0 。
print r.sadd("",1)         #输出的结果是1
print r.sadd("",2,3,4,5) #输出的结果是1
print r.scard("") #输出的结果是5
3.Sdiff 命令返回给定集合之间的差集。不存在的集合 key 将视为空集。
print r.sadd("",1,2,3,4,5,6)      #输出的结果是6
print r.sadd("",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("",1,2,3,4,5,6)      #输出的结果是6
print r.sadd("",4,5,6,7,8,9) #输出的结果是6
print r.sadd("",0) #输出的结果是1
print r.sdiffstore("","","") #输出的结果是3
print r.sinter("") #输出的结果是 set(['1', '3', '2'])
5.Sinter 命令返回给定所有给定集合的交集。 不存在的集合 key 被视为空集。 当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
print r.sadd("",3,4,5,6)      #输出的结果是4
print r.sadd("",1,2,3,4) #输出的结果是4
print r.sinter(51,52) #输出的结果是set(['3', '4'])
print r.sadd("",1,2,3,4,5,6) #输出的结果是6
print r.sadd("",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("",3,4,5,6)      #输出的结果是4
print r.sadd("",1,2,3,4) #输出的结果是4
print r.sadd("",0) #输出的结果是1
print r.sinterstore(63,61,62) #输出的结果是2
print r.sinter(63) #输出的结果是set(['3', '4'])
7.Sismember 命令判断成员元素是否是集合的成员。
如果成员元素是集合的成员,返回 1 。 如果成员元素不是集合的成员,或 key 不存在,返回 0 。
print r.sadd("",1,2,3,4,5,6)   #输出的结果是6
print r.sismember("",1) #输出的结果是True
print r.sismember("",2) #输出的结果是True
print r.sismember("",7) #输出的结果是False
print r.sismember("",8) #输出的结果是False
8.Smembers 命令返回集合中的所有的成员。 不存在的集合 key 被视为空集合。
print r.sadd("",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("",1,2,)     #输出的结果是2
print r.sadd("",3,4,) #输出的结果是2
print r.smove(91,92,1) #把91中的1移动到92中去,输出的结果是True
print r.smembers("") #输出的结果是set(['2'])
print r.smembers("") #输出的结果是set(['1', '3', '4'])
print r.smove(91,92,5) #91不存在5,输出的结果是False
print r.smembers("") #输出的结果是set(['2'])
print r.smembers("") #输出的结果是set(['1', '3', '4'])
10. Spop 命令用于移除并返回集合中的一个随机元素。
print r.sadd("",1,2,3,4,5,6)  #输出的结果是6
print r.spop("") #输出的结果是3
print r.smembers("") #输出的结果是set(['1', '2', '5', '4', '6'])
print r.spop("") #输出的结果是1
print r.smembers("") #输出的结果是set(['2', '5', '4', '6'])
11.Srandmember 命令用于返回集合中的一个随机元素。
从 Redis 2.6 版本开始, Srandmember 命令接受可选的 count 参数:
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
该操作和 SPOP 相似,但 SPOP 将随机元素从集合中移除并返回,而 Srandmember 则仅仅返回随机元素,而不对集合进行任何改动。
print r.sadd("",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("",1,2,3,4,5,6,7)    #输出的结果是7
print r.srem("",1) #输出的结果是1
print r.smembers("") #输出的结果是set(['3', '2', '5', '4', '7', '6'])
print r.srem("",8) #输出的结果是0
print r.smembers("") #输出的结果是set(['3', '2', '5', '4', '7', '6'])
 13.Sunion 命令返回给定集合的并集。不存在的集合 key 被视为空集。
print r.sadd("",1,2,3,4,5,6,7)    #输出的结果是7
print r.sadd("",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("",1,2,3,4,5,6,7)    #输出的结果是7
print r.sadd("",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("",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) 命令
命令 描述
Redis Sadd 命令 向集合添加一个或多个成员
Redis Scard 命令 获取集合的成员数
Redis Sdiff 命令 返回给定所有集合的差集
Redis Sdiffstore 命令 返回给定所有集合的差集并存储在 destination 中
Redis Sinter 命令 返回给定所有集合的交集
Redis Sinterstore 命令 返回给定所有集合的交集并存储在 destination 中
Redis Sismember 命令 判断 member 元素是否是集合 key 的成员
Redis Smembers 命令 返回集合中的所有成员
Redis Smove 命令 将 member 元素从 source 集合移动到 destination 集合
Redis Spop 命令 移除并返回集合中的一个随机元素
Redis Srandmember 命令 返回集合中一个或多个随机数
Redis Srem 命令 移除集合中一个或多个成员
Redis Sunion 命令 返回所有给定集合的并集
Redis Sunionstore 命令 所有给定集合的并集存储在 destination 集合中
Redis Sscan 命令 迭代集合中的元素

Python操作redis学习系列之(集合)set,redis set详解 (六)的更多相关文章

  1. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  2. 分布式缓存技术redis学习系列(五)——redis实战(redis与spring整合,分布式锁实现)

    本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redi ...

  3. 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)

    上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性. 安全性设置 设置客户端操作秘密 redis安装 ...

  4. 分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

  5. 大数据学习系列之三 ----- HBase Java Api 图文详解

    版权声明: 作者:虚无境 博客园出处:http://www.cnblogs.com/xuwujing CSDN出处:http://blog.csdn.net/qazwsxpcm 个人博客出处:http ...

  6. 大数据学习系列之五 ----- Hive整合HBase图文详解

    引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环 ...

  7. 第15.12节PyQt(Python+Qt)入门学习:可视化设计界面组件布局详解

    一.引言 在Qt Designer中,在左边部件栏的提供了界面布局相关部件,如图: 可以看到共包含有四种布局部件,分别是垂直布局(Vertical Layout).水平布局(Horizontal La ...

  8. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  9. PyQt(Python+Qt)学习随笔:QLineEdit行编辑器功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QLineEdit部件是一个单行文本编辑器,支持撤消和重做. ...

  10. 第15.21节 PyQt(Python+Qt)入门学习:QListView的作用及属性详解

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 QListView是从QAbstractItemView 派生的类,实现了QAbstrac ...

随机推荐

  1. lvs dr 模型配置详解

    前期准备: 两台服务器 note01(lvs服务器) note02(real sever) 1 首先在note01配置子网卡: ifconfig eth0: :2意思是eth0的子接口,随便一个数字就 ...

  2. jarvis OJ WEB题目writeup

    0x00前言 发现一个很好的ctf平台,题目感觉很有趣,学习了一波并记录一下 https://www.jarvisoj.com 0x01 Port51 题目要求是用51端口去访问该网页,注意下,要用具 ...

  3. flex 布局的复习

  4. Kafka、RabbitMQ、RocketMQ等消息中间件的对比 —— 消息发送性能和区别

    https://blog.csdn.net/yunfeng482/article/details/72856762

  5. js 解析json

    一 ,eval var dataObj=eval("("+data+")"); 1,这种形式将使得性能显著降低,因为它必须运行编译器 2,eval函数还减弱了你 ...

  6. Django路由详解

    一.路由基础 1.路由url函数:路由自上而下进行匹配:url(正则路径,视图函数内存地址,默认参数,路由别名) 2.路由正则: 规定开始:^ | 规定结束:$ #url(r'index', view ...

  7. 2108 ACM 向量积 凹凸

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2108 图一中,向量a × 向量 b    根据右手定则,得出向量c的方向.即为凸多边形. 图二中,若向量a ...

  8. Scrapy 使用CrawlSpider整站抓取文章内容实现

    刚接触Scrapy框架,不是很熟悉,之前用webdriver+selenium实现过头条的抓取,但是感觉对于整站抓取,之前的这种用无GUI的浏览器方式,效率不够高,所以尝试用CrawlSpider来实 ...

  9. [Codeforces113C]Double Happiness(数论)

    题意 给定闭区间[l,r] [l,r] [l,r],找出区间内满足t=a2+b2 t=a^{2}+b^{2} t=a2+b2的所有素数t t t的个数( a,b a,b a,b为任意正整数). 思路 ...

  10. redis(一)

    NoSQL简介 NoSQL,全名为Not Only SQL,指的是非关系型的数据库 随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来 优点/缺点 优点: 高可扩展性 分布式计算 ...