redis: Set集合类型(五)
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集合类型(五)的更多相关文章
- redis数据类型-集合类型
集合类型 在集合中的每个元素都是不同的,且没有顺序. 一个集合类型(set)键可以存储至多2 32-1个(相信这个数字对大家来说已经很熟悉了)字符串. 集合类型的常用操作是向集合中加入或删除元素.判断 ...
- redis:set集合类型的操作(无序集合)
1. set集合类型的操作(无序集合) 集合具有无序性(没有顺序).确定性(描述是确定的).唯一性(没有重复的元素) 1.1. sadd key member [member ...] 语法:sadd ...
- 怎样在Redis通过StackExchange.Redis 存储集合类型List
StackExchange 是由StackOverFlow出品, 是对Redis的.NET封装,被越来越多的.NET开发者使用在项目中. 绝大部分原先使用ServiceStack的开发者逐渐都转了过来 ...
- redis有序集合类型sort set
redis的数据类型之-有序集合 sort set和set类型一样,也是string类型元素的集合,也没有重复的元素,不同的是sort set每个元素都会关联一个权,通过权值可以有序的获取集合中的元素 ...
- redis之(七)redis的集合类型的命令
[一]增加/删除元素 --->命令:SADD key member [member...] --->向集合键中添加一个,或多个元素.如果键不存在,则创建.如果元素存在,则忽略不执行.返回值 ...
- Redis有序集合类型
命令 增加元素 ZADD score member [score member ...] > ZADD scoreboard 89 Tom 76 Peter 100 David (integer ...
- redis 有序集合类型
- Redis常用命令入门4:集合类型
集合类型 之前我们已经介绍过了最基本的字符串类型.散列类型.列表类型,下面我们一起学习一下集合类型. 集合类型也是体现redis一个比较高价值的一个类型了.因为Redis的集合类型,所以我们可以很容易 ...
- redis有序集合数据类型---sortedset
一.概述 redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数. redis正式通过分数来为集合中的重圆进行从小到大的 ...
- Redis从基础命令到实战之有序集合类型(SortedSet)
有序集合类型是Redis五种数据类型中最高级的.也是最复杂的类型.有序集合具有集合类型的特性,在其基础上给每个元素关联了一个分值,或称为权重,操作时既可以在添加元素时指定分值,也可以单独修改集合中某一 ...
随机推荐
- (连续的矩形)HDU - 1506
题意:7 2 1 4 5 1 3 3 直接讲数据 :给出7个矩形的高,底长都为1,求最大的连通的矩形块的面积 思路:如果暴力的话肯定超时,有一个特别巧妙的预处理,如果我们知道每一个矩形的左右两边能延 ...
- ElasticSearch 倒排索引
倒排索引 倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况. 由于每个字或词对应的文档 ...
- 开源APP
仿微信 https://github.com/zhengwenming/WeChat 电台韵律 https://github.com/DaMingShen 运动App https://github.c ...
- NKOJ3768 数列操作
问题描述 给出N个正整数数列a[1..N],再给出一个正整数k,现在可以重复进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1.经过一定次 ...
- 从JDK源码学习Arraylist
从今天开始从源码去学习一些Java的常用数据结构,打好基础:) Arraylist源码阅读: jdk版本:1.8.0 首先看其构造方法: 构造方法一: 第一种支持初始化容量大小,其中声明一个对象数组, ...
- jQuery实现回车键抬起触发事件
$(function(){ //回车键按下触发 $(document).keydown(function(event){ if(event.keyCode==13){ alert("niha ...
- 分治与递归-Fibonacci数列兔子问题
裴波那契(Fibonacci leonardo,约1170-1250)是意大利著名数学家.在他的著作<算盘书>中许多有趣的问题,最富成功的问题是著名的“兔子繁殖问题”: 如果每对兔子每月繁 ...
- Linux系统安装java jdk
1)下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 我这里下载的是 ...
- 【php】面向对象(二)
一. 封装: a) 描述:使用成员修饰符修饰成员属性和成员方法,能够最大限度的隐藏对象内部的细节,保证对象的安全 b) PPP修饰符:public(公共的),protected(受保护的),priva ...
- Linux bash篇(四 命令)
1.一次执行多个命令 ; eg: ls -al ; touch data.txt 2.根据情况执行命令 && || cmd1 && c ...