Redis学习篇(五)之Set类型及其操作
SADD
作用:向集合中添加元素
语法:SADD key menber [, ...]
添加重复的元素会返回0,失败
SMEMBERS
作用:返回指定集合中的元素
语法: SMEMBERS key
SISMEMBER
作用: 检测value是否是集合中的元素
语法:SISMEMBER key value
SREM
作用:删除集合中的元素
语法: SREM key value
成功返回删除元素的个数,失败返回0
SPOP
作用: 删除集合中的随机元素,并返回删除的元素
语法: SPOP key
SRANDMEMBER
作用: 随机返回集合中的指定个数的随机元素
语法:SRANDMEMBER key count
count的类型:
count为正数并且小于集合长度,返回一个包含随机元素的集合数组;
count为正数并且大于集合长度,会返回整个集合;
count为负数,返回一个数组, 数组中的成员可能重复出现,数组的长度是count的绝对值
SDIFF
作用: 返回集合的差集
语法: SDIFF key, key ...
在前面的集合中,不在后面的集合中的元素
没有差集返回空
SINTER
作用: 求多个集合的交集
语法: SINTER key key ...
SUNION
作用:返回集合中的并集
语法:SUNION key , key ...
SCARD
作用:返回集合的长度
语法:SCARD key
SDIFFSTORE
作用: 将差集结果保存到指定的集合中
语法: SDIFFSTORE destination key key ...
当集合已经存在时,会覆盖
SINTERSTORE
作用: 将交集的结果保存到指定的集合中
语法:SINTERSTORE destination key key ...
SUNIONSTORE
作用: 将并集的结果保存到指定的集合中
语法: SUNIONSTORE destination key key ...
SMOVE
作用: 将结合中的元素移动到另外的集合中
语法:SMOVE source destination member
是一个原子操作
如果目标集合中已经包含了此元素,则只会删除源集合中的元素
Redis学习篇(五)之Set类型及其操作的更多相关文章
- redis学习教程五《管道、分区》
redis学习教程五<管道.分区> 一:管道 Redis是一个TCP服务器,支持请求/响应协议. 在Redis中,请求通过以下步骤完成: 客户端向服务器发送查询,并从套接字读取,通常以阻 ...
- redis 学习(6)-- 集合类型
redis 学习(6)-- 集合类型 set 结构 无序 无重复 集合间操作 set 集合内操作 命令 含义 sadd key memebr1 [member2...] 向集合中添加一个或多个成员 s ...
- redis 学习(5)-- 列表类型
redis 学习(5)-- 列表类型 列表特点 有序.可以重复.左右两边插入弹出 索引相关知识 索引从左往右,从0开始逐个增大 0 1 2 3 4 5 索引从右往左,从-1开始逐个减小 -6 -5 - ...
- redis 学习(3)-- String 类型
redis 学习(3)-- String 类型 String-结构 结构:Key-Value对 Value:可以是字符串.数字,也可以是二进制数组 限制:Value最大值为512MB String-常 ...
- redis学习 (key)键,Python操作redis 键 (二)
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...
- redis学习(五)
一.Redis 发布订阅 1.Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 2.Redis 客户端可以订阅任意数量的频道. 比如你订阅 ...
- Redis学习笔记--五种数据类型的使用场景
String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- redis数据类型(五)set类型
一. set类型 set是无序集合,最大可以包含(2 的 32 次方-1)个元素. set 的是通过 hash table 实现的,所以添加,删除,查找的复杂度都是 O(1). hash table ...
- Redis学习篇(四)之List类型及其操作
Redis的List是一个双向链表 LPUSH 作用:向列表左端添加元素 语法:LPUSH key value value... 从左到右逐个添加到左端,前面的先添加, 可以一次添加多个元素 RPUS ...
随机推荐
- 【Nginx】修改响应头,根据不同请求IP重定向到不同IP
背景: 使用CAS登录的过程中会涉及到三次重定向,如果在同一个局域网内,是没有任何问题的,但如果涉及到跨网访问,这个问题就比较蛋疼了. 解决思路: 通过Nginx对要访问的系统进行代理,根据请求IP来 ...
- 绝妙的SQL行列转换语句
说明:普通行列转换(version 1.0)仅针对sql server 2000提供静态和动态写法,version 2.0增加sql server 2005的有关写法. 问题:假设有张学生成绩表( ...
- 在外网使用ssh连接内网中的多台Linux服务器
最近因为要对全球工控机网络进行协议扫描,需要在实验室配置几台服务器,因为我们只有一个IP地址,所以是用路由器搭建了一个内网(拓扑结构如下图).但是这样做了之后无法在宿舍通过ssh直接连接服务器,因为那 ...
- 【CodeForces】713 D. Animals and Puzzle 动态规划+二维ST表
[题目]D. Animals and Puzzle [题意]给定n*m的01矩阵,Q次询问某个子矩阵内的最大正方形全1子矩阵边长.n,m<=1000,Q<=10^6. [算法]动态规划DP ...
- 面向对象 ( OO ) 的程序设计——理解对象
本文地址:http://www.cnblogs.com/veinyin/p/7607938.html 1 创建自定义对象 创建自定义对象的最简单方法为创建 Object 的实例,并添加属性方法,也可 ...
- 【洛谷 P1501】 [国家集训队]Tree II(LCT)
题目链接 Tree Ⅱ\(=\)[模板]LCT+[模板]线段树2.. 分别维护3个标记,乘的时候要把加法标记也乘上. 还有就是模数的平方刚好爆\(int\),所以开昂赛德\(int\)就可以了. 我把 ...
- favico.js笔记
1. favicon.js是什么 一个js库可以使用徽标.图像.视频等来设置网页的favicon,即网页标题栏上的小图标. 2. 如何使用 2.1 使用徽标 basic demo: <!DOCT ...
- 深入理解Spring系列之八:常用的扩展接口
转载 https://mp.weixin.qq.com/s/XfhZltSlTall8wKwV_7fKg Spring不仅提供了一个进行快速开发的基础框架,而且还提供了很多可扩展的接口,用于满足一些额 ...
- Test plan
Options for Test Strategy: 1. Regular test: all the planned test cases will be executed 2. Extented ...
- 如何把一篇Word文档里的所有换行符去掉?
编辑-查找,查找框输入 ^13替换框不输入点击全部替换