set类型以及其操作
sets类型
sets类型以及操作
Set是无序集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd
向名称为key的set中添加元素,返回添加成功的个数
127.0.0.1:> sadd key member [member ...]
127.0.0.1:> sadd myset1 one
(integer)
127.0.0.1:> sadd myset1 two three
(integer)
smembers
查看集合元素
127.0.0.1:> smembers key
127.0.0.1:> smembers myset1
) "one"
) "two"
) "three"
srem
删除名称为key的set中元素,返回成功执行的个数
127.0.0.1:> srem key member [member ...]
127.0.0.1:> srem myset1 one
(integer)
127.0.0.1:> smembers myset1
) "two"
) "three"
spop
随机返回并删除名称为key的set中的一个元素
spop key [count]
127.0.0.1:> spop myset1
) "two"
) "three"
127.0.0.1:> smembers myset1
(empty list or set)
sdiff
返回所有给定key与第一个key的差集
谁在前面以谁为标准,返回其他集合少于标准的
127.0.0.1:> sdiff key [key ...]
127.0.0.1:> smembers myset2
) "two"
) "four"
) "three"
127.0.0.1:> smembers myset1
) "one"
) "two"
) "three"
127.0.0.1:> sdiff myset1 myset2
) "one"
127.0.0.1:> sdiff myset2 myset1
) "four"
sdiffstore
返回两个集合的差集,并将差集存储到另一个集合里面
127.0.0.1:> sdiffstore destination key [key ...]
127.0.0.1:> sdiffstore myset3 myset1
(integer)
127.0.0.1:> smembers myset3
) "one"
) "two"
) "three"
127.0.0.1:> sdiff myset4 myset1 myset2
(empty list or set)
127.0.0.1:> smembers myset1
) "one"
) "two"
) "three"
127.0.0.1:> smembers myset2
) "two"
) "four"
) "three"
127.0.0.1:> sdiffstore myset4 myset1 myset2
(integer)
127.0.0.1:> smembers myset4
) "one"
sinter
返回所有给定key的交集
127.0.0.1:> sinter key [key ...]
127.0.0.1:> smembers myset1
) "one"
) "two"
) "three"
127.0.0.1:> smembers myset2
) "two"
) "four"
) "three"
127.0.0.1:> sinter myset1 myset2
) "two"
) "three"
sinterstore
返回两个集合的交集并且储存在指定集合内
127.0.0.1:> sinterstore destination key [key ...]
127.0.0.1:> sinterstore myset4 myset1 myset2
(integer)
127.0.0.1:> smembers myset4
) "two"
) "three"
sunion
返回所有给定集合的并集
127.0.0.1:> sunion key [key ...]
127.0.0.1:> smembers myset1
) "one"
) "two"
) "three"
127.0.0.1:> smembers myset2
) "two"
) "four"
) "three"
127.0.0.1:> sunion myset1 myset2
) "one"
) "two"
) "four"
) "three"
sunionstrore
返回给顶集合的并集,并且存储在另一个集合
127.0.0.1:> sunionstore destination key [key ...]
127.0.0.1:> sunionstore myset5 myset1 myset2
(integer)
127.0.0.1:> smembers myset5
) "one"
) "two"
) "four"
) "three"
smove
从个一的个key中的对应的set中移除member并添加到第二个对应的set中
127.0.0.1:> smove source destination member
127.0.0.1:> smembers myset1
) "one"
) "two"
127.0.0.1:> smembers myset2
) "two"
) "four"
) "three"
127.0.0.1:> smove myset1 myset2 one
(integer)
127.0.0.1:> smembers myset1
) "two"
127.0.0.1:> smembers myset2
) "one"
) "two"
) "four"
) "three"
scard
返回名称为key的集合中的集合的个数
127.0.0.1:> scard key
127.0.0.1:> scard myset1
(integer)
127.0.0.1:> scard myset2
(integer)
sismember
测试某个元素是不是某个集合的元素
127.0.0.1:> sismember key member
127.0.0.1:> sismember myset1 one
(integer)
127.0.0.1:> sismember myset two
(integer)
127.0.0.1:> smembers myset1
) "two"
127.0.0.1:> sismember myset1 two
(integer)
srandmember
随机返回集合中的一个元素,但不删除
127.0.0.1:> srandmember key [count]
127.0.0.1:> srandmember myset2
"four"
127.0.0.1:> srandmember myset2
"one"
127.0.0.1:> srandmember myset2
) "one"
) "two"
) "three"
) "four"
set类型以及其操作的更多相关文章
- zset类型以及其操作
sorted set类型 sorted sets类型以及其操作zset是set的一格升级版本,它在set的基础上增加了一格顺序属性,这一属性在添加元素的同时可以指定,每次指定后,zset会自动重新按照 ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
- 对控制器类型“StudentController”的操作“Edit”的当前请求在下列操作方法之间不明确:
"/"应用程序中的服务器错误. 对控制器类型"StudentController"的操作"Edit"的当前请求在下列操作方法之间不明确:类型 ...
- 知方可补不足~sqlserver中对xml类型字段的操作
回到目录 在sqlserver中有很多种数据类型,而XML数据类型是比较新奇怪的一种格式,我们平常接触的可能比较少,用的也少,而在某些场合,使用XML类型可能会使我们的开发变简单,下面就是一种情况: ...
- Linux---文件类型及权限操作
文件类型: 用ls命令查看目录下所属文件时,每行的第一个字母标识着文件对应的文件类型 '-':代表普通文件 'd':代表目录 'c':字符设备文件 'b':块设备文件 's':套接字文件 'l':符号 ...
- 自定义枚举类型的常用操作-附源码(xjl456852原创)
自定义枚举类型中,假如我们有name和desc这样的属性,并在这个基础上定义了多个对象. 那么就可能用到通过name获取desc,或者通过desc获取name.通过name或者desc获取对应的枚举对 ...
- Android jni 编程1(对基本类型字符串的操作)
最近一直在学安卓的jni,主要参考的是黑马程序员的视频教程,讲的确实不错. 那就自己总结一下吧,算是对学习的复习. 这篇博客也主要参考了这位博主:http://www.cnblogs.com/acti ...
- MongoDB中数组类型相关的操作
概述 在MongoDB的模式中,我们经常将一些数据存储到数组类型中,即我们常见的嵌套模式设计的一种实现方式.数组的这种设计实现方式在关系数据库中是没有或者说不常见的.所以,通过本文我们来梳理一下Mon ...
- mysql 5.7 laravel json类型数据相关操作
2018年10月16日18:14:21 官方文档中文翻译版 原文:https://dev.mysql.com/doc/refman/5.7/en/json.html 最后有部分实例和一个小总结 11. ...
- python学习Day8 三种字符类型、文件操作
复习 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5') | ...
随机推荐
- Codeforces 235C. Cyclical Quest
传送门 写的时候挺蛋疼的. 刚开始的时候思路没跑偏,无非就是建个SAM然后把串开两倍然后在SAM上跑完后统计贡献.但是卡在第二个样例上就是没考虑相同的情况. 然后开始乱搞,发现会出现相同串的只有可能是 ...
- 20145312《Java第一次实验报告》
20145312<Java第一次实验报告> Java开发环境的熟悉(Windows+Idea) 一.实验内容 使用Idea编辑.编译.运行.调试Java程序. 使用JDK编译.运行简单的J ...
- Linux下的Nginx安装
1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有g ...
- 设置iframe内表单target属性以兼容IE、Firefox【转载】
设置iframe内表单target属性以兼容IE.Firefox[转载] 2011年11月19日 haibor 今天有客户反应,在一产品网站的资源下载页面,用户登录提交后页面无反应! 经测 ...
- 拓扑排序(dfs)
int c[N];//c[u]=0表示从来没有访问过:c[u]=1表示已经访问过,并且还递归访问过它的所有子:c[u]=-1表示正在访问. int topo[N],t; int G[N][N]; bo ...
- Spring Boot CRUD+分页(基于Mybatis注解方式)
步骤一:关于Mybatis Mybatis 是用来进行数据库操作的框架.其中分页使用Mybatis中的PageHelper插件. Mybatis与hibernate对比: 1.hibernate是一个 ...
- BZOJ3236: [AHOI2013]作业
BZOJ3236: [AHOI2013]作业 题目描述 传送门 行,我知道是Please contact lydsy2012@163.com! 传送门2 题目分析 这题两问还是非常,emmmm. 首先 ...
- MongoDB 性能优化
Read Preferences/读写分离 有时候为了考虑应用程序的性能或响应性,为了提高读取操作的吞吐率,一个常见的措施就是进行读写分离,MongoDB副本集对读写分离的支持是通过Read Pref ...
- spark SQL学习(综合案例-日志分析)
日志分析 scala> import org.apache.spark.sql.types._ scala> import org.apache.spark.sql.Row scala&g ...
- 关于xftp连接不了Linux,但是却可以用xshell连接Linux
解决方法:用sftp协议,不要用ftp协议