Redis初探05——Redis的sets类型及操作
来源:互联网 发布:淘宝网天天特价首页 编辑:程序博客网 时间:2024/06/06 01:48
sets类型及操作
set是集合,他是String类型的无序集合。set是通过hashtable实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog中的tag功能。没有重复元素。
1、sadd
向名称为key的set中添加元素。 sadd set集合名称 元素。若添加的重复元素则不替换,返回0;
127.0.0.1:6379> sadd myset hello(integer) 1127.0.0.1:6379> sadd myset world(integer) 1127.0.0.1:6379> sadd myset world(integer) 0127.0.0.1:6379> smembers myset1) "world"2) "hello"
2、smembers 查看set集合中的元素
3、srem
删除名称为key的set中的元素。srem set名称 元素。删除成功返回1,否则返回0
127.0.0.1:6379> sadd myset2 one(integer) 1127.0.0.1:6379> sadd myset2 two(integer) 1127.0.0.1:6379> sadd myset2 three(integer) 1127.0.0.1:6379> smembers myset21) "three"2) "two"3) "one"127.0.0.1:6379> srem myset2 one(integer) 1127.0.0.1:6379> smembers myset21) "three"2) "two"127.0.0.1:6379> srem myset2 one(integer) 0127.0.0.1:6379>
4、spop
随机返回并删除名称为key的set中的一个元素。spop set名称
127.0.0.1:6379> sadd myset3 two(integer) 1127.0.0.1:6379> sadd myset3 three(integer) 1127.0.0.1:6379> sadd myset3 four(integer) 1127.0.0.1:6379> sadd myset3 five(integer) 1127.0.0.1:6379> smembers myset31) "five"2) "three"3) "two"4) "four"127.0.0.1:6379> spop myset3"four"127.0.0.1:6379> spop myset3"five"127.0.0.1:6379> spop myset3"two"127.0.0.1:6379> smembers myset31) "three"127.0.0.1:6379>
5、5、sdiff
返回所有给定set与第一个set的差集。sdiff set1 set2.注意:以第一个set为主,即返回的差集是set1中存在的。
127.0.0.1:6379> sadd myset3 two(integer) 1127.0.0.1:6379> sadd myset1 two(integer) 1127.0.0.1:6379> smembers myset31) "two"2) "three"127.0.0.1:6379> smembers myset11) "two"2) "one"127.0.0.1:6379> sdiff myset1 myset31) "one"127.0.0.1:6379> sdiff myset3 myset11) "three"
6、sidffstore
返回所有给定set与第一个set的差集,并将结果存在另一个set集合中。sdiffstore 保存差集的set 第一个set(为主) 第二个set。
127.0.0.1:6379> sdiff myset1 myset31) "one"127.0.0.1:6379> sdiff myset3 myset11) "three"127.0.0.1:6379> sdiffstore myset4 myset1 myset3(integer) 1127.0.0.1:6379> smembers myset41) "one"
7、sinter
返回所给定set的交集。sinter set1 set2.
127.0.0.1:6379> sinter myset1 myset31) "two"
8、sinterstore
返回给定set的交集,并将结果存在另一个set集合中。 sinterstore 保存交集的set set1 set2.
127.0.0.1:6379> sinterstore myset5 myset1 myset3(integer) 1127.0.0.1:6379> smembers myset51) "two"
9、sunion
返回给定set的并集。sunion set1 set2
127.0.0.1:6379> sunion myset1 myset31) "three"2) "two"3) "one"
10、sunionstore
返回给定set的并集,并将结果存在另一个set集合中。sunionstore 保存并集的set set1 set2.
127.0.0.1:6379> sunionstore myset6 myset1 myset3(integer) 3127.0.0.1:6379> smembers myset61) "three"2) "two"3) "one"
11、smove
从第一个keyt对应的set中删除元素,并将此元素添加到第二个对应的set中。smove set1(删除) set2(添加) 元素。
127.0.0.1:6379> smembers myset11) "two"2) "one"127.0.0.1:6379> smembers myset31) "two"2) "three"127.0.0.1:6379> smove mset1 myset3 one(integer) 0127.0.0.1:6379> smove myset1 myset3 one(integer) 1127.0.0.1:6379> smembers myset11) "two"127.0.0.1:6379> smembers myset31) "two"2) "three"3) "one"
12、scard
返回set中的元素个数。scard set名称。
127.0.0.1:6379> smembers myset31) "two"2) "three"3) "one"127.0.0.1:6379> scard myset3(integer) 3
13、sismember
查找元素是否是set中的元素。sismember set名称 查找元素。存在返回1,否则返回0。
127.0.0.1:6379> smembers myset31) "two"2) "three"3) "one"127.0.0.1:6379> scard myset3(integer) 3127.0.0.1:6379> sismember myset3 three(integer) 1127.0.0.1:6379> sismember myset3 five(integer) 0
14、srandmember
随机返回set中的一个元素,但不删除元素。srandmember set名称。
127.0.0.1:6379> srandmember myset3"two"127.0.0.1:6379> srandmember myset3"one"127.0.0.1:6379> smembers myset31) "two"2) "three"3) "one
- Redis初探05——Redis的sets类型及操作
- redis--sets类型及操作
- Redis初探04——Redis的list类型及操作
- Redis初探06——Redis的有序集合sorted set类型及操作
- redis--sorted sets类型及操作
- Redis之sets类型及操作
- Redis之sorted sets类型及操作
- Redis学习之sets类型及操作
- Redis实战《红丸出品》2.5 sets类型及操作
- redis之sets类型
- Redis Sets类型介绍
- Redis实战《红丸出品》2.6 sorted sets类型及操作
- redis的基本类型及操作命令
- Redis 数据类型 sorted sets 类型
- Redis之sorted sets类型
- redis学习系列--5.redis-sets 类型
- 四:redis的sets类型相关操作(有序和无序集合)
- redis--hashes类型及操作
- 一分钟理解乐观锁与悲观锁
- 用QT信号和槽实现主界面有两个按钮,一个按钮打开新界面,另一个关闭新界面
- CentOS软件的安装,更新与卸载命令
- [Leetcode.467]Unique Substrings in Wraparound String
- “让云计算落地”系列之二:驯服OpenStack这匹野马
- Redis初探05——Redis的sets类型及操作
- ZOJ
- 浅析字符编码
- 史上最清晰Unicode/UCS-/UTF-/ISO-/GBK-/ASCII编码关系
- html中的各属性介绍
- 挥鞭式进入效果实现
- 外贸电商:除了paypal,这些支付方式也能帮到你
- 远离炒作:正视比特币区块链的四大问题
- iOS巅峰之CocoaPods第三方库的管理找不到.h文件