Redis数据结构详解之Set(三)
来源:互联网 发布:linux 编辑器 编辑:程序博客网 时间:2024/06/06 12:22
序言
在Redis中,Set和list都是字符串序列,非常相似,不同之处在于Set是用哈希表来保持字符串的唯一性,没有先后顺序,不像list一样,可以在首尾增删数据。但是set也有自己的相应处理命令来完成对自己的操作。下面我们来看下Set的命令怎么使用。
操作单个set的命令
redis中set列表的新增命令Sadd,key值相同下的value值不能重复,返回插入的数据个数,key后面可跟多个value值
127.0.0.1:6379>sadd mySet 1 ---添加key为mySet的set数据值为1,
127.0.0.1:6379>sadd mySet 2 4 5 ---添加key为mySet的set数据值为2,
redis中查看set数据集合的命令:smembers,可以获取全部的元素,当set成员比较多时考虑其性能啊
127.0.0.1:6379>smembers mySet ---获取key为mySet的说有set数据值集合
redis中set判断某个key的value中是否存在某个值的命令:sismember ,如果存在返回1,不存在返回0
127.0.0.1:6379>sismember mySet 3 ---返回值为0,因为myset的set成员中只有1,2没有3
127.0.0.1:6379>sismember mySet 2 ---返回值为1,因为myset的Set成员中存在2.
redis中set的删除数据命令srem,返回删除个数,key后面可跟多个value值
127.0.0.1:6379>srem mySet 1 ---删除key为mySet,value为1的数据项。
127.0.0.1:6379>srem mySet 2 4 ---删除key为mySet,value为2和4的2个数据项。
redis中查看set数据个数的命令scard,如果不存在返回0
127.0.0.1:6379>sadd mySet 1 2 3 4 5
127.0.0.1:6379>scrad mySet ---查看mySet中存在多少个数据项,返回结果为5
redis中set随机查看元素命令srandmember
127.0.0.1:6379>srandmember mySet ---输出key为mySet的数据项中的随机一个value,
redis中set随机删除一个元素的命令spop,并返回输出删除的数据
127.0.0.1:6379>spop mySet ----随机从key为mySet的数据集合中删除一条数据,并返回输出删除的数据
127.0.0.1:6379>scard mySet ---key为mySet的数据集合中的数据个数为4
操作多个set的命令
set除了对一个set中的元素进行增删改查外,还可以对多个set进行操作,比如将一个set的元素移到另外一个set中,计算多个set的并集,交集,差集等操作。
redis中set将一个set中的元素移动到另外一个set中的命令smove
127.0.0.1:6379>sadd mySet 1 2 3 ----向mySet中添加3条数据 1 2 3
27.0.0.1:6379>sadd youSet 3 4 5 ----向youSet中添加3条数据 3 4 5
127.0.0.1:6379>smove youSet mySet 4 ---将youSet中的数据4移除的同时将数据4添加到mySet中
127.0.0.1:6379>smembers mySet ---结果为:1 2 3 4
127.0.0.1:6379>smembers youSet ---结果为 3 5
redis中set求交集命令sinter
127.0.0.1:6379>sinter mySet youSet ---输出结果为mySet和youSet的交集,输出结果为:3
redis中set求并集的命令sunion
127.0.0.1:6379>sunion mySet youSet ---输出结果为mySet与youSet的并集,输出结果为:1 2 3 4 5
redis中set求差集的命令sdiff
127.0.0.1:6379>sdiff mySet youSet ---输出结果为mySet中youSet不存在的数据,输出结果为:1 2 4
127.0.0.1:6379>sdiff youSet mySet ---输出结果为youSet中mySet不存在的数据,输出结果为:5
- Redis数据结构详解之Set(三)
- Redis数据结构详解之Set(三)
- Redis的数据结构之Set
- Redis数据结构详解之Zset(五)
- Redis数据结构详解之List(二)
- Redis数据结构详解之List(二)
- redis数据结构详解之Hash(四)
- Redis数据结构详解之Zset(五)
- Redis数据结构详解之List(二)
- redis数据结构详解之Hash(四)
- Redis的数据结构之sorted-set
- Redis数据结构详解之Zset
- Redis数据结构详解之Zset
- Redis数据结构详解之Zset
- redis之set 集合命令详解
- Redis-数据结构(字符串集合set)
- redis数据结构指南:set
- Redis数据结构-Set
- JDBC案例之基础查询mysql
- CentOS7.2 使用Shell安装Oracle12c
- Oracle 用户操作表权限
- sudo 做不到的事
- ORA-00942 table or view does not exist
- Redis数据结构详解之Set(三)
- 总结骏汇项目的一些js问题(四)之公司中文名称与公司英文名称之提交
- Java 包装类Integer的值比较
- Java 浮点型与双精度数值比较
- 解决win10 Ipv6无法连接的问题
- 23种设计模式(6)-装饰者模式
- [置顶]【Linux init】systemd 服务单元管理
- JTAG
- 浅谈期望的线性性(可加性)【CodeForces280c】【bzoj3036】【bzoj3143】