1. set集合类型的操作(无序集合)

集合具有无序性(没有顺序)、确定性(描述是确定的)、唯一性(没有重复的元素)

1.1. sadd key member [member ...]

语法:sadd key member [member ...]

作用:往集合key中添加元素

返回值:添加元素的个数

例:

127.0.0.1:6379> sadd fruit apple banana pear

(integer) 3

127.0.0.1:6379> sadd num 1 1

(integer) 1

1.2. smembers key

语法:smembers key

作用:返回集合key中所有的元素

例:

127.0.0.1:6379> smembers fruit

1) "pear"

2) "banana"

3) "apple"

127.0.0.1:6379> smembers num

1) "1"

1.3. srandmember key [count]

语法:srandmember key [count]

作用:返回集合key中随机的1个元素

例:

127.0.0.1:6379> smembers letter

1) "d"

2) "g"

3) "c"

4) "e"

5) "a"

127.0.0.1:6379> srandmember letter

"e"

127.0.0.1:6379> srandmember letter

"c"

127.0.0.1:6379> srandmember letter

"a"

127.0.0.1:6379> srandmember letter 2

1) "c"

2) "e"

127.0.0.1:6379> srandmember letter 3

1) "c"

2) "e"

3) "a"

127.0.0.1:6379> smembers letter

1) "d"

2) "g"

3) "c"

4) "e"

5) "a"

1.4. srem key member [member ...]

语法:srem key member [member ...]

作用:删除集合key中的member [member...]元素

返回值:忽略不存在的元素后,真正删除掉的元素的个数

例:

127.0.0.1:6379> smembers num

1) "1"

127.0.0.1:6379> srem num 1

(integer) 1

127.0.0.1:6379> smembers num

(empty list or set)

127.0.0.1:6379> srem fruit pear

(integer) 1

127.0.0.1:6379> smembers fruit

1) "banana"

2) "apple"

1.5. spop key [count]

语法:spop key [count]

作用:返回并删除集合key中1个随机的元素

例:

127.0.0.1:6379> sadd letter a b c d e f g

(integer) 7

127.0.0.1:6379> smembers letter

1) "c"

2) "d"

3) "g"

4) "b"

5) "e"

6) "a"

7) "f"

127.0.0.1:6379> spop letter

"b"

127.0.0.1:6379> smembers letter

1) "d"

2) "g"

3) "c"

4) "e"

5) "a"

6) "f"

127.0.0.1:6379> spop letter

"f"

127.0.0.1:6379> smembers letter

1) "d"

2) "g"

3) "c"

4) "e"

5) "a"

案例:

spop是返回并删除一个随机的元素,所以可以用来做抽奖,第一次spop出的可以作为第一名(一等奖),第二次spop出的可以作为第二名(二等奖)...

1.6. sismember key member

语法:sismember key member

作用:判断member是否是集合key中的元素

返回值:是返回1;不是返回0

例:

127.0.0.1:6379> smembers letter

1) "d"

2) "g"

3) "c"

4) "e"

5) "a"

127.0.0.1:6379> sismember letter a

(integer) 1

127.0.0.1:6379> sismember letter k

(integer) 0

127.0.0.1:6379> sismember letter 0

(integer) 0

1.7. scard key

语法:scard key

作用:返回集合key中元素的个数

例:

127.0.0.1:6379> smembers letter

1) "d"

2) "g"

3) "c"

4) "e"

5) "a"

127.0.0.1:6379> scard letter

(integer) 5

1.8. sinter key [key ...]

语法:sinter key [key ...]

作用:求出key [key ...]几个集合中的交集,并返回

例:

127.0.0.1:6379> sadd lisa c python java

(integer) 3

127.0.0.1:6379> sadd wang english python php

(integer) 3

127.0.0.1:6379> sadd poly python redis c++

(integer) 3

127.0.0.1:6379> sinter lisa wang poly

1) "python"

127.0.0.1:6379> sadd tom python java php redis

(integer) 4

127.0.0.1:6379> sinter tom poly

1) "redis"

2) "python"

1.9. sinterstore destination key [key ...]

语法:sinterstore destination key [key ...]

作用:求出key [key ...]几个集合中的交集,并赋给destination或存储在destination中

返回值:返回真正存储到destination中的元素的个数

例:

127.0.0.1:6379> smembers lisa

1) "python"

2) "java"

3) "c"

127.0.0.1:6379> smembers poly

1) "c++"

2) "redis"

3) "python"

127.0.0.1:6379> smembers tom

1) "redis"

2) "php"

3) "python"

4) "java"

127.0.0.1:6379> sinterstore lisa_tom lisa tom

(integer) 2

127.0.0.1:6379> smembers lisa_tom

1) "python"

2) "java"

1.10. sunion key [key ...]

语法:sunion key [key ...]

作用:求出key [key ...]几个集合的并集,并返回

例:

127.0.0.1:6379> sadd lisa c python java

(integer) 3

127.0.0.1:6379> sadd wang english python php

(integer) 3

127.0.0.1:6379> sadd poly python redis c++

(integer) 3

127.0.0.1:6379> sunion lisa wang

1) "python"

2) "c"

3) "java"

4) "php"

5) "english"

127.0.0.1:6379> sadd tom python java php redis

(integer) 4

127.0.0.1:6379> sunion lisa wang tom poly

1) "php"

2) "c"

3) "c++"

4) "redis"

5) "python"

6) "english"

7) "java"

1.11. sdiff key [key ...]

语法:sdiff key [key ...]

作用:求出key与[key ...]的差集

例:

127.0.0.1:6379> smembers lisa

1) "python"

2) "java"

3) "c"

127.0.0.1:6379> smembers tom

1) "redis"

2) "php"

3) "python"

4) "java"

127.0.0.1:6379> sdiff lisa tom

1) "c"

127.0.0.1:6379> sdiff tom lisa

1) "redis"

2) "php"

127.0.0.1:6379> smembers poly

1) "c++"

2) "redis"

3) "python"

127.0.0.1:6379> sdiff tom lisa poly

1) "php"

redis:set集合类型的操作(无序集合)的更多相关文章

  1. redis:order set有序集合类型的操作(有序集合)

    1. order set有序集合类型的操作(有序集合) 有序集合是在无序集合的基础上加了一个排序的依据,这个排序依据叫score,因此声明一个集合为有序集合的时候要加上score(作为排序的依据) 1 ...

  2. Python集合类型的操作与应用

    Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...

  3. 四:redis的sets类型 - 相关操作(有序和无序集合)

    ================四十五种(有序和无序集合):sets种类(它是一个集)=============      简介:  set它代表的集合.加入是随意添加----->无序集合    ...

  4. c#重点[集合类型]异常,数组,集合ArrayList,List<>,hashTable,hashtable泛型(Dictionary)

    1.foreach[对一些数组或集合进行遍历] foreach(类型 变量名 in 集合对象){语句体} //定义一个数组 ,,,,, }; foreach(var i in sNum1) { Con ...

  5. [Swift]遍历集合类型(数组、集合和字典)

    Swift提供了三种主要的集合类型,称为数组,集合和字典,用于存储值集合. 数组是有序的值集合. 集是唯一值的无序集合. 字典是键值关联的无序集合. Swift中无法再使用传统形式的for循环. // ...

  6. 三:redis的List类型相关操作

    </pre><pre name="code" class="php" style="font-size: 14px;"&g ...

  7. redis:list列表类型的操作

    1. list列表类型的操作 1.1. lpush/rpush key value [value ...] 链表的头部(左侧)或尾部(右侧)插入值 语法:lpush key value [value ...

  8. redis:string字符串类型的操作

    1. string字符串类型的操作: 1.1. set 设置单个值 语法:set key value [EX seconds] [PX milliseconds] [NX|XX] 注: EX seco ...

  9. [redis] redis 对string类型数据操作

    package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...

随机推荐

  1. file /usr/share/mysql/charsets/README from install of MySQL-server-5.1.73-1.glibc23.i386 conflicts with file from package mysql-libs-5.1.73-8.el6_8.i686

    1:也许之前的机器安装过Mysql,但是自己不知道,账号密码也忘记了,又执行安装操作,导致Mysql不兼容问题.Linux上安装MySQL时出现不兼容的解决办法,错误如下所示: [root@maste ...

  2. rabbitmq3.7.5 centos7 集群部署笔记

    1. 准备3台 centos服务器  192.168.233.128    192.168.233.130    192.168.233.131 防火墙放开 集群端口, 这里一并把所有rabbitmq ...

  3. 详解 Java 中的三种代理模式

    代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用 ...

  4. MyEclipse 8.6 下载

    Downloads: MyEclipse 8.6 for Eclipse Galileo Windows http://downloads.myeclipseide.com/downloads/pro ...

  5. ionic2+中修改minSdkVersion的方法

    具体方法很简单,直接在config.xml中找到下面这一行 <preference name="android-minSdkVersion" value="17&q ...

  6. 044 SimpleDateFormat的线程安全问题与解决方案

    这个问题,以前好像写过,不过现在这篇文章,有一个重现的过程,还是值得读一读的. URL:SimpleDateFormat的线程安全问题与解决方案

  7. pip软件包安装 + Anaconda软件库安装 教程

    PIP软件包安装(适用于Ubuntu和Windows10): 下载pip的安装包,官网链接如下:https://pypi.python.org/pypi/pip 我选择了Source源的安装方式,单击 ...

  8. Java版本翻转字符串

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1282题目描述: Java中的StringBuilder有一个字符串翻转函数,因此,可以先将输入的数字转 ...

  9. VDOM总结

    https://segmentfault.com/a/1190000016129036

  10. python编码问题在此终结

     转载:https://www.cnblogs.com/whatisfantasy/p/6422028.html 1 版本差异概览 1.1 Python 2.X: str(用于8位文本和二进制数据) ...