集合的性质: 唯一性,无序性,确定性

注: 在string和link的命令中,可以通过range 来访问string中的某几个字符或某几个元素

但,因为集合的无序性,无法通过下标或范围来访问部分元素.

因此想看元素,要么随机先一个,要么全选

sadd key value1 value2
作用: 往集合key中增加元素
127.0.0.1:6379> sadd gender male female
(integer) 2
127.0.0.1:6379> sadd gender yao yao
(integer) 1
127.0.0.1:6379> sadd gender yao
(integer) 0
smembers key
作用: 返回集中中所有的元素
127.0.0.1:6379> smembers gender
1) "male"
2) "female"
3) "yao"
srem value1 value2
作用: 删除集合中集为 value1 value2的元素
返回值: 忽略不存在的元素后,真正删除掉的元素的个数
127.0.0.1:6379> srem gender yao
(integer) 1
127.0.0.1:6379> srem gender x c
(integer) 0
127.0.0.1:6379> srem gender male x c
(integer) 1
spop key//抽奖
作用: 返回并删除集合中key中1个随机元素
随机--体现了无序性
127.0.0.1:6379> sadd gender a b c d e f
(integer) 6
127.0.0.1:6379> smembers gender
1) "d"
2) "c"
3) "a"
4) "f"
5) "female"
6) "b"
7) "e"
127.0.0.1:6379> spop gender
"a"
127.0.0.1:6379> smembers gender
1) "d"
2) "c"
3) "f"
4) "female"
5) "b"
6) "e"
127.0.0.1:6379> spop gender
"c"
127.0.0.1:6379> spop gender
"f"
127.0.0.1:6379> spop gender
"e"
srandmember key
作用: 返回集合key中,随机的1个元素.
127.0.0.1:6379> smembers gender
1) "d"
2) "c"
3) "a"
4) "f"
5) "female"
6) "e"
7) "b"
127.0.0.1:6379> srandmember gender
"female"
127.0.0.1:6379> srandmember gender
"f"
127.0.0.1:6379> srandmember gender
"c"
127.0.0.1:6379> srandmember gender
"c"
127.0.0.1:6379> srandmember gender
"a"
127.0.0.1:6379> srandmember gender
"d"
sismember key  value
作用: 判断value是否在key集合中
是返回1,否返回0
127.0.0.1:6379> smembers gender
1) "d"
2) "c"
3) "a"
4) "f"
5) "female"
6) "e"
7) "b"
127.0.0.1:6379> sismember gender q
(integer) 0
127.0.0.1:6379> sismember gender f
(integer) 1
scard key
作用: 返回集合中元素的个数127.0.0.1:6379> scard gender(integer) 7
smove source dest value
作用:把source中的value删除,并添加到dest集合中
127.0.0.1:6379> sadd upper A B C
(integer) 3
127.0.0.1:6379> sadd lower a b c
(integer) 3
127.0.0.1:6379> smove upper lower A
(integer) 1
127.0.0.1:6379> smembers upper
1) "C"
2) "B"
127.0.0.1:6379> smembers lower
1) "c"
2) "A"
3) "b"
4) "a"
sinter  key1 key2 key3
作用: 求出key1 key2 key3 三个集合中的交集,并返回
sinterstore dest key1 key2 key3
作用: 求出key1 key2 key3 三个集合中的交集,并赋给dest
suion key1 key2.. Keyn
作用: 求出key1 key2 keyn的并集,并返回
127.0.0.1:6379> sadd lisi a b c d
(integer) 4
127.0.0.1:6379> sadd wang a c d e f
(integer) 5
127.0.0.1:6379> sadd poly a c d g
(integer) 4
127.0.0.1:6379> sinter lisi wang poly
1) "d"
2) "c"
3) "a"
127.0.0.1:6379> sinterstore common lisi wang poly
(integer) 3
127.0.0.1:6379> smembers common
1) "d"
2) "c"
3) "a"
127.0.0.1:6379> sunion lisi wang poly
1) "d"
2) "g"
3) "c"
4) "a"
5) "f"
6) "e"
7) "b"
sdiff key1 key2 key3
作用: 求出key1与key2 key3的差集
即key1-key2-key3
127.0.0.1:6379> sdiff lisi wang poly
1) "b"

Redis的Set操作的更多相关文章

  1. redis的一些操作

    public class WnsRedisFactory { private static Cache pool = null; private static JedisConnectionFacto ...

  2. python之redis和memcache操作

    Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...

  3. redis的hash操作在集中式session中的应用

    在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...

  4. Redis客户端API操作 Jedis详解

    redis是一个著名的key-value存储系统,也是nosql中的最常见的一种.其实,个人认为,redis最强大的地方不在于其存储,而在于其强大的缓存作用. 我们可以把它想象成一个巨大的(多借点集群 ...

  5. Spring Boot 整合 Redis 实现缓存操作

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!   『 产品没有价值,开发团队再优秀也无济于事 – <启示录> 』   本文提纲 ...

  6. 缓存数据库-redis数据类型和操作(list)

    转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...

  7. redis键值操作

    1.1. redis键值操作 1.1.1. keys patten 查询相应的key 可以精确的查,也可以模糊的查 1.1.1.1. 通配符:* ? [] 在redis里,模糊查询key的时候有3个通 ...

  8. redis 批量删除操作

    redis 批量删除操作 需要在redis里面清空一批数据,redis没有支持通配符删除, 只有del key1 key2 ... 但是可以通配符获取 KEYS PATTERN 然后利用linux管道 ...

  9. thinkphp5.0上对redis的具体操作

    一.环境搭建 首先先安装composer.thinkphp5.0版本.和redis的windows版本的redis程序或者linux版本的redis程序,linux安装教程: https://www. ...

  10. redis连接数据库进行操作

    该项目需要的类目录 1.首先我们需要创建我们的实体类 2.放置我们的dao层,在里面写入方法 3.配置类Appconfig需要加入我们的JdbcTemplate方法,因为我们用的是spring,所以需 ...

随机推荐

  1. vbs操作txt文本文件常用方法(函数)

    创建文件 dim fso, f set fso = server.CreateObject("Scripting.FileSystemObject") set f = fso.Cr ...

  2. Readhat Linux5.5 安装SVNService(经验总结)

    Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux5.5 安装包获取: 下载 http://subversion.tigris.or ...

  3. ASP.NET MVC学习之视图篇(1)

    一.前言 不知道还有多少读者从第一篇开始一直学习到如今,笔者也会一直坚持将ASP.NET MVC的学习完美的结束掉,然后开始写如何配合其他框架使用ASP.NET MVC的随笔.当然笔者后面的随笔如果没 ...

  4. 二分图匹配(KM算法)n^3 分类: ACM TYPE 2014-10-01 21:46 98人阅读 评论(0) 收藏

    #include <iostream> #include<cstring> #include<cstdio> #include<cmath> const ...

  5. PHP操作数据库类

    <?php /** * 功能: 数据库操作类 . * 作者: 赵铭哲 * 日期: 2016-05-23 * 时间: 9:43 */ namespace ZH\DataBase; use \Exc ...

  6. Cross Validation done wrong

    Cross Validation done wrong Cross validation is an essential tool in statistical learning 1 to estim ...

  7. linux yum 命令 详解

    linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能 ...

  8. Sqli-labs less 19

    Less-19 从源代码中我们可以看到我们获取到的是HTTP_REFERER 那和less18是基本一致的,我们从referer进行修改. 还是像less18一样,我们只给出一个示例 将referer ...

  9. 编写更好的CSS

    编写好的CSS代码能提升页面的渲染速度.本质上,一条规则都没有引擎解析的最快.MDN上将CSS选择符归拆分成四个主要类别,如下所示,性能依次降低. ID 规则 Class 规则 标签规则 通用规则 对 ...

  10. hdu 1250 Hat's Fibonacci(java,简单,大数)

    题目 java做大数的题,真的是神器,来一道,秒一道~~~ import java.io.*; import java.util.*; import java.math.*; public class ...