6.Redis常用命令:Set
在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。
和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中的set容器是完全相同的。换句话说,如果多次添加相同元素,Set中将仅保留该元素的一份拷贝。和List类型相比,Set类型在功能上还存在着一个非常重要的特性,即在服务器端完成多个Sets之间的聚合计算操作,如unions、intersections和differences。由于这些操作均在服务端完成,因此效率极高,而且也节省了大量的网络IO开销。
1、SADD key value1 value2 value3
增加值。如果该值已存在,那么将会忽略,其他值正常插入。
127.0.0.1:> sadd country china japan singapore
(integer)
127.0.0.1:> smembers country
) "china"
) "singapore"
) "japan"
2、SREM key value1 [value2 ...]
移除指定的成员
127.0.0.1:> smembers country
) "china"
) "singapore"
) "japan"
127.0.0.1:> srem country japan
(integer)
127.0.0.1:> smembers country
) "china"
) "singapore"
3、SISMEMBER key value
成员是否存在
127.0.0.1:> smembers country
) "china"
) "singapore"
127.0.0.1:> sismember country china
(integer)
4、SCARD key
获取Set中成员的数量
127.0.0.1:> smembers country
) "china"
) "singapore"
127.0.0.1:> scard country
(integer)
5、SMEMBERS key
列出所有成员
sadd country china japan singapore
(integer)
127.0.0.1:> smembers country
) "china"
) "singapore"
) "japan"
6、SPOP key
随机的移除Set中的一个成员并返回它
127.0.0.1:> smembers country
) "Singapore"
) "Japan"
) "Bakistan"
) "America"
) "China"
) "France"
127.0.0.1:> spop country
"Japan"
127.0.0.1:> spop country
"Bakistan"
7、SRANDMEMBER key
随机的返回Set中的一个成员,不同的是该命令并不会删除返回的成员
127.0.0.1:> smembers country
) "America"
) "China"
) "Singapore"
) "France"
127.0.0.1:> srandmember country
"America"
127.0.0.1:> srandmember country
"France"
127.0.0.1:> smembers country
) "America"
) "China"
) "Singapore"
) "France"
8、SMOVE source destination member
原子性的将参数中的成员从source键移入到destination键所关联的Set中。如果该成员在 source 中不存在,那么操作将被忽略。如果该成员已在 destination 中存在,那么该操作仅仅将 member 从 source 中移除。
127.0.0.1:> smembers country
) "America"
) "China"
) "Singapore"
) "France"
127.0.0.1:> smembers developedCty
) "Japan"
127.0.0.1:> smove country developedCty America
(integer)
127.0.0.1:> smembers developedCty
) "America"
) "Japan"
127.0.0.1:> smembers country
) "China"
) "Singapore"
) "France"
------------------ 集合操作 ------------------
9、SDIFF key1 [key2 ...]
返回 key1 - key2 的差集
127.0.0.1:> sadd AsiaCountry China Japan Korea Thailand Singapore Vietnam
(integer)
127.0.0.1:> sadd DevelopedCty America Japan Korea Singapore France German
(integer)
127.0.0.1:> sdiff AsiaCountry DevelopedCty //找到亚洲中的非发达国家
) "China"
) "Vietnam"
) "Thailand"
127.0.0.1:> sdiff DevelopedCty AsiaCountry //找到发达国家中国的非亚洲国家
) "America"
) "German"
) "France"
10、SINTER key1 key2
返回交集
127.0.0.1:> sinter AsiaCountry DevelopedCty //找出既是发达国家,又是亚洲国家的
) "Japan"
) "Korea"
) "Singapore"
11、SUNION key1 [key2 ...]
返回并集
127.0.0.1:> smembers AsiaCountry
) "Vietnam"
) "Japan"
) "China"
) "Korea"
) "Thailand"
) "Singapore"
127.0.0.1:> smembers DevelopedCty
) "German"
) "Japan"
) "America"
) "Korea"
) "Singapore"
) "France"
127.0.0.1:> sunion AsiaCountry DevelopedCty
) "Japan"
) "America"
) "China"
) "Korea"
) "Singapore"
) "Thailand"
) "Vietnam"
) "German"
) "France"
12、SUNIONSTORE key1 key2 [key3 ...]
返回key2,key3等的并集并存储在key1中
127.0.0.1:> smembers AsiaCountry
) "Japan"
) "China"
) "Korea"
) "Singapore"
127.0.0.1:> smembers DevelopedCty
) "German"
) "Japan"
) "America"
) "Korea"
) "Singapore"
) "France"
127.0.0.1:> sunionstore totalCty AsiaCountry DevelopedCty
(integer)
127.0.0.1:> smembers totalCty
) "German"
) "Japan"
) "America"
) "China"
) "France"
) "Korea"
) "Singapore"
6.Redis常用命令:Set的更多相关文章
- Redis常用命令
Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- Redis常用命令手册:服务器相关命令
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...
- redis redis常用命令及内存分析总结(附RedisClient工具简介
redis常用命令及内存分析总结(附RedisClient工具简介 by:授客 QQ:1033553122 redis-cli工具 查看帮助 连接redis数据库 常用命令 exists key se ...
- Redis常用命令与高级应用
附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...
- Redis快速起步及Redis常用命令大全
本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...
- redis配置密码 redis常用命令
redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy #requi ...
- redis常用命令及持久化机制
redis 常用命令 查找redis服务文件 find / -name redis-server 查找配置文件 find / -name redis.conf 启动服务时候,要指定配置文件 启动r ...
- Redis 常用命令 大全
Redis 常用命令 发现几个很好的 Redis 常用命令汇总大全网页,分享给小伙伴们~ 1.Redis 命令参考 http://redisdoc.com/string/index.html 2.W3 ...
- No-sql之redis常用命令
转自:http://blog.csdn.net/nicewuranran/article/details/51793760 No-SQL之Redis 介绍 Redis是一种基于内存存储的key-val ...
随机推荐
- 【Zookeeper】源码分析之请求处理链(四)
一.前言 前面分析了SyncReqeustProcessor,接着分析请求处理链中最后的一个处理器FinalRequestProcessor. 二.FinalRequestProcessor源码分析 ...
- java数组、泛型、集合在多态中的使用及对比
我们在使用数组,泛型集合的过程中不可避免的会碰到多态,或者说什么情况下能如何使用父数组引用子数组(集合.泛型)呢? 数组在多态中的使用 元素为父类型的数组引用可指向元素为子类型的数组对象 当数组被调用 ...
- vue2.0全局组件之pdf
目的:像elementUI那样注册全局组件 预览pdf文件 技术支持:使用火狐的pdf.js http://mozilla.github.io/pdf.js/ 准备:新建一个CPdf.vue文件,把火 ...
- node环境安装(mac版和windows版)
WINDOWS版本安装 nvm 是 Mac 下的 node 管理工具,有点类似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推荐是使用 nvmw 或 nvm-wind ...
- struts2(一) struts2入门
首先推荐一本书,虽然我还没看过,但是我以后肯定会看的,<Struts+技术内幕>提取密码:kg6w .现在只是停留在会使用struts2的层次,自己也想继续深入研究,但是感觉自己的知识面还 ...
- java构造函数使用方法总结
使用构造器时需要记住: 1.构造器必须与类同名(如果一个源文件中有多个类,那么构造器必须与公共类同名) 2.每个类可以有一个以上的构造器 3.构造器可以有0个.1个或1个以上的参数 4.构造器没有返回 ...
- 基于SSH协议的端口转发
[前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透等.这篇文章将主要讲解3种常用的ssh tunnelling使用方法和基本原理. 在介绍具体内容前,我先奉上端口转发的常用情景: ...
- linux版powershell安装教程(.net core版)
powershell 传教士 原创文章 始于2016-12-20,2017-03-15改.文章版本目前博客园为最新版. 允许转载,但必须保留名字和出处,否则追究法律责任 问:powershell二进制 ...
- python IP地址转16进制
python IP地址转16进制 第一种方法: 通过socket.inet_aton实现 import socket from binascii import hexlify ary='192.168 ...
- HTTP协议&SOCKET协议
一. HTTP协议是什么? 我们在浏览器的地址栏里输入的网站地址叫做 URL(UniformResourceLocator,统一资源定位符).就像每家每户都有一个门牌地址一样,每个网页也都有一个Int ...