set集合(无序)

set是一个无序的不重复元素的集合


sadd

往集合内部添加元素

127.0.0.1:6379> sadd set1 a b c d
(integer) 4
127.0.0.1:6379> smembers set1
1) "d"
2) "a"
3) "b"
4) "c"
127.0.0.1:6379>

如果指定的key不存在会创建


srem

移除元素

127.0.0.1:6379> srem set1 c
(integer) 1
127.0.0.1:6379> smembers set1
1) "d"
2) "a"
3) "b"
127.0.0.1:6379>

如果要移除的元素不存在,则返回0

可以同时移出多个

spop

随机弹出一个元素

127.0.0.1:6379> spop set1
"d"
127.0.0.1:6379> smembers set1
1) "a"
2) "b"
127.0.0.1:6379>

因为set是无序的,如果要修改某个元素的值,直接将它删除在添加一个新的即可,修改真正的意义是替换,可是

set没有位置的概念(无序),替换就成了毫无意义的事情

scard

scard key

返回set中的元素的个数

如果查询一个不存在的key,返回0

smembers

smembers key

返回集合中所有的元素

sismember

sismember key value

查询value是否存在于key,存在返回1,否则返回0

srandmember

srandmember key [count]

随机返回count个集合中元素,注意count不能大于集合内部元素数

127.0.0.1:6379> srandmember set2
"3"
127.0.0.1:6379> srandmember set2 3
1) "96"
2) "2"
3) "5"

交集

sinter

sinter key1 key2 ....

返回key1key2或更多key中的交集(相同元素)

127.0.0.1:6379> sadd set1 1 2 3 45 6
(integer) 5
127.0.0.1:6379> sadd set2 8 5 2 96 3
(integer) 5
127.0.0.1:6379> sinter set1 set2
1) "2"
2) "3"

sinterstore

sinterstore newkey key1 key2 ...

key1key2或更多key的交集合并到新的集合newkey

127.0.0.1:6379> sinterstore set3 set1 set2
(integer) 2
127.0.0.1:6379> smembers set3
1) "2"
2) "3"

并集

sunion

sunion key1 key2 ...

将所有的key的元素合并返回,重复的值将只保留一个

127.0.0.1:6379> sunion set1 set2
1) "45"
2) "a"
3) "b"
4) "2"
5) "5"
6) "1"
7) "3"
8) "96"
9) "8"
10) "6"

sunionstore

sunionstore newkey key1 key2....

sinterstore类型,将并集移到newkey

差集

sdiff

sdiff key1 key2 ...

返回所有key的差集

sdiffstore

sdiffstore newkey key1 key2 ...

将所有key的差集移入newkey

移动

smove

smove key1 key2 value

valuekey1中移动到key2

Redis中set集合(无序)操作命令的更多相关文章

  1. [日常] Redis中set集合的使用思考

    公司部门同事有个需求,就是需要把当前另一个部门a中存储的数据全部导出来,自己当前业务b的数据全部导出来,两个要取一下差集,把a中存在,b中不存在的记下来,要去调用某接口把对应的文件删除.这个我感觉可以 ...

  2. 面试官:Redis中有序集合的内部实现方式是什么?

    面试官:Redis中基本的数据类型有哪些? 我:Redis的基本数据类型有:字符串(string).哈希(hash).列表(list).集合(set).有序集合(zset). 面试官:有序集合的内部实 ...

  3. Redis系列之key操作命令与Redis中的事务详解(六)

    序言 本篇主要目的有二: 1.展示所有数据类型中key的所有操作命令,以供大家学习,查阅,更深入的挖掘redis潜力. 2.掌握redis中的事务,让你的数据完整性一致性拥有更优的保障. redis命 ...

  4. 面试官:Redis中集合数据类型的内部实现方式是什么?

    虽然已经是阳春三月,但骑着共享单车骑了这么远,还有有点冷的.我搓了搓的被冻的麻木的手,对着前台的小姐姐说:"您好,我是来面试的."小姐姐问:"您好,您叫什么名字?&quo ...

  5. Redis 中的数据类型及基本操作

    Redis 内置的数据类型有 5种:字符串String.哈希Hash.列表List.集合Set.有序集合ZSet 字符串类型 String 是 Redis 中最基本的类型,一个 key 对应着一个 v ...

  6. java中避免集合死链调用

    目录 1. 前言 2. 场景 3. 环境 3.1 开发环境准备 3.2 数据准备 3.2.1 Mysql数据库表及数据 3.2.2 redis库数据 4. 解决方式 5.完整代码 5.1Model 5 ...

  7. redis中各种数据类型对应的jedis操作命令

    redis中各种数据类型对应的jedis操作命令 一.常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 ...

  8. 5、Redis中对Set类型的操作命令

    写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...

  9. Redis中7种集合类型应用场景

    StringsStrings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字.使用Strings类型,你可以完全实现目前 Memcached 的功能,并且效率更 ...

随机推荐

  1. 第1章 Hive入门

    第1章 Hive入门 1.1 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提 ...

  2. python 判断文件和文件夹是否存在、创建文件夹

    原文链接:https://www.cnblogs.com/hushaojun/p/4533241.html >>> import os >>> os.path.ex ...

  3. nvm -- node 多版本管理器

    Node.js 越来越热,应用的场景也越来越多. 在开发中,我们可能同时在进行多个 node 项目,而这些不同的项目所使用的 node 版本又是不一样的,或者是要用更新的 node 版本进行试验和学习 ...

  4. 如何以正确的姿势安装Vue的依赖并且启动下载好的项目

    首先,输入cd进入项目所在的目录. 然后输入   npm install --registry=https://registry.npm.taobao.org    // --后面表示使用淘宝镜像,下 ...

  5. Training spiking neural networks for reinforcement learning

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 原文链接:https://arxiv.org/pdf/2005.05941.pdf Contents: Abstract Introduc ...

  6. 力扣Leetcode 199. 二叉树的右视图

    199. 二叉树的右视图 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, ...

  7. 一个神奇的jq插件----zTree

    最近在公司做项目中用到了一个树(ztree)的插件,使用起来非常顺手,便写下这篇博客,用来记录一下,以便后续使用 首先先放上ztree官方的地址:http://www.treejs.cn/v3/mai ...

  8. 让“不确定性”变得有“弹性”?基于弹性容器的AI评测实践

    0. 前言 AI的场景丰富多彩,AI的评价方法百花齐放,这对于设计一套更通用的评测框架来说,是一个极大的挑战,需要兼顾不同的协议,不同的模型环境,甚至是不同的操作系统.本文分享了我们在AI评测路上的一 ...

  9. jieba分词-强大的Python 中文分词库

    1. jieba的江湖地位 NLP(自然语言)领域现在可谓是群雄纷争,各种开源组件层出不穷,其中一支不可忽视的力量便是jieba分词,号称要做最好的 Python 中文分词组件. 很多人学习pytho ...

  10. Collection/Map关系图