Set里面的值是不能重复的

Set设置值(头部):sadd myset hello

Set获取值:smembers myset

检查Set是否包含某个元素:sismember myset hello

127.0.0.1:6379> sadd myset hello #给myset添加元素
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> smembers myset #获取myset的元素
1) "world"
2) "hello"
127.0.0.1:6379> sismember myset hello
(integer) 1

查看Set包含的元素个数:scard myset

127.0.0.1:6379> smembers myset
1) "world"
2) "hello"
127.0.0.1:6379> scard myset #查看myset包含的元素个数
(integer) 2

移除Set中某个元素:srem myset hello

127.0.0.1:6379> smembers myset
1) "world"
2) "hello"
127.0.0.1:6379> srem myset hello #从myset中移除hello元素
(integer) 1
127.0.0.1:6379> smembers myset
1) "world"

随机抽取Set中的元素:srandmember myset

127.0.0.1:6379> smembers myset
1) "lenovo"
2) "sanxing"
3) "iphone"
4) "htc"
127.0.0.1:6379> srandmember myset
"htc"
127.0.0.1:6379> srandmember myset #随机抽取一个元素
"htc"
127.0.0.1:6379> srandmember myset
"sanxing"
127.0.0.1:6379> srandmember myset
"lenovo"
127.0.0.1:6379> srandmember myset
"htc"
127.0.0.1:6379> srandmember myset
"htc"
127.0.0.1:6379> srandmember myset
"iphone"
127.0.0.1:6379> srandmember myset 2 #随机抽取指定数量的元素
1) "sanxing"
2) "lenovo"

随机删除Set中的元素:spop myset

127.0.0.1:6379> smembers myset
1) "lenovo"
2) "sanxing"
3) "iphone"
4) "htc"
127.0.0.1:6379> spop myset #随机删除一个元素
"htc"
127.0.0.1:6379> spop myset #随机删除一个元素
"sanxing"
127.0.0.1:6379> smembers myset
1) "lenovo"
2) "iphone"

将指定元素从一个Set集合移动到另一个Set集合:smove myset otherset iphone

127.0.0.1:6379> smembers myset
1) "lenovo"
2) "iphone"
127.0.0.1:6379> smove myset otherset iphone #把iphone元素从myset移动到otherset集合中
(integer) 1
127.0.0.1:6379> smembers myset
1) "lenovo"
127.0.0.1:6379> smembers otherset
1) "iphone"

差集:sdiff k1 k2

交集:sinter k1 k2

并集:sunion k1 k2

127.0.0.1:6379> smembers k1
1) "c"
2) "a"
3) "b"
127.0.0.1:6379> smembers k2
1) "d"
2) "c"
3) "e"
127.0.0.1:6379> sdiff k1 k2 #查看k1对比k2集合的差集
1) "a"
2) "b"
127.0.0.1:6379> sinter k1 k2 #查看k1与k2集合的交集 比如:查看共同好友
1) "c"
127.0.0.1:6379> sunion k1 k2 #查看k1与k2集合的并集
1) "b"
2) "c"
3) "a"
4) "d"
5) "e"

redis: Set集合类型(五)的更多相关文章

  1. redis数据类型-集合类型

    集合类型 在集合中的每个元素都是不同的,且没有顺序. 一个集合类型(set)键可以存储至多2 32-1个(相信这个数字对大家来说已经很熟悉了)字符串. 集合类型的常用操作是向集合中加入或删除元素.判断 ...

  2. redis:set集合类型的操作(无序集合)

    1. set集合类型的操作(无序集合) 集合具有无序性(没有顺序).确定性(描述是确定的).唯一性(没有重复的元素) 1.1. sadd key member [member ...] 语法:sadd ...

  3. 怎样在Redis通过StackExchange.Redis 存储集合类型List

    StackExchange 是由StackOverFlow出品, 是对Redis的.NET封装,被越来越多的.NET开发者使用在项目中. 绝大部分原先使用ServiceStack的开发者逐渐都转了过来 ...

  4. redis有序集合类型sort set

    redis的数据类型之-有序集合 sort set和set类型一样,也是string类型元素的集合,也没有重复的元素,不同的是sort set每个元素都会关联一个权,通过权值可以有序的获取集合中的元素 ...

  5. redis之(七)redis的集合类型的命令

    [一]增加/删除元素 --->命令:SADD key member [member...] --->向集合键中添加一个,或多个元素.如果键不存在,则创建.如果元素存在,则忽略不执行.返回值 ...

  6. Redis有序集合类型

    命令 增加元素 ZADD score member [score member ...] > ZADD scoreboard 89 Tom 76 Peter 100 David (integer ...

  7. redis 有序集合类型

  8. Redis常用命令入门4:集合类型

    集合类型 之前我们已经介绍过了最基本的字符串类型.散列类型.列表类型,下面我们一起学习一下集合类型. 集合类型也是体现redis一个比较高价值的一个类型了.因为Redis的集合类型,所以我们可以很容易 ...

  9. redis有序集合数据类型---sortedset

    一.概述 redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数. redis正式通过分数来为集合中的重圆进行从小到大的 ...

  10. Redis从基础命令到实战之有序集合类型(SortedSet)

    有序集合类型是Redis五种数据类型中最高级的.也是最复杂的类型.有序集合具有集合类型的特性,在其基础上给每个元素关联了一个分值,或称为权重,操作时既可以在添加元素时指定分值,也可以单独修改集合中某一 ...

随机推荐

  1. (连续的矩形)HDU - 1506

    题意:7 2 1 4 5 1 3 3  直接讲数据 :给出7个矩形的高,底长都为1,求最大的连通的矩形块的面积 思路:如果暴力的话肯定超时,有一个特别巧妙的预处理,如果我们知道每一个矩形的左右两边能延 ...

  2. ElasticSearch 倒排索引

    倒排索引 倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况. 由于每个字或词对应的文档 ...

  3. 开源APP

    仿微信 https://github.com/zhengwenming/WeChat 电台韵律 https://github.com/DaMingShen 运动App https://github.c ...

  4. NKOJ3768 数列操作

    问题描述 给出N个正整数数列a[1..N],再给出一个正整数k,现在可以重复进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1.经过一定次 ...

  5. 从JDK源码学习Arraylist

    从今天开始从源码去学习一些Java的常用数据结构,打好基础:) Arraylist源码阅读: jdk版本:1.8.0 首先看其构造方法: 构造方法一: 第一种支持初始化容量大小,其中声明一个对象数组, ...

  6. jQuery实现回车键抬起触发事件

    $(function(){ //回车键按下触发 $(document).keydown(function(event){ if(event.keyCode==13){ alert("niha ...

  7. 分治与递归-Fibonacci数列兔子问题

    裴波那契(Fibonacci leonardo,约1170-1250)是意大利著名数学家.在他的著作<算盘书>中许多有趣的问题,最富成功的问题是著名的“兔子繁殖问题”: 如果每对兔子每月繁 ...

  8. Linux系统安装java jdk

    1)下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我这里下载的是 ...

  9. 【php】面向对象(二)

    一. 封装: a) 描述:使用成员修饰符修饰成员属性和成员方法,能够最大限度的隐藏对象内部的细节,保证对象的安全 b) PPP修饰符:public(公共的),protected(受保护的),priva ...

  10. Linux bash篇(四 命令)

    1.一次执行多个命令        ; eg: ls -al ; touch data.txt 2.根据情况执行命令       &&     || cmd1 && c ...