Redis之set型別及操作
set是string型別的無序集合。透過hash table實現。
sadd:向名稱為key的set中新增元素,不能新增重複的元素。
127.0.0.1:6379> sadd myset hello
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 0
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"
srem:刪除名稱為key的set中的元素。
127.0.0.1:6379> sadd myset2 one
(integer) 1
127.0.0.1:6379> sadd myset2 two
(integer) 1
127.0.0.1:6379> srem myset2 one
(integer) 1
127.0.0.1:6379> smembers myset2
1) "two"
spop:隨機返回並刪除名稱為key的set中一個元素。
127.0.0.1:6379> sadd myset3 one
(integer) 1
127.0.0.1:6379> sadd myset3 two
(integer) 1
127.0.0.1:6379> spop myset3
"two"
127.0.0.1:6379> smembers myset3
1) "one"
sdiff:返回所有給定key與第一個key的差集
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sdiff myset2 myset3
1) "three"
sdiffstore:返回所有給定key與第一個key的差集,並將結果存為另一個key。
127.0.0.1:6379> sdiffstore myset4 myset2 myset3
(integer) 1
127.0.0.1:6379> smembers myset4
1) "three"
sinter:返回所有給定key的交集。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sinter myset2 myset3
1) "two"
sinterstore:返回所有給定key的交集,並將結果存為另一個key。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sinterstore myset6 myset2 myset3
(integer) 1
127.0.0.1:6379> smembers myset6
1) "two"
sunion:返回所有給定key的並集。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sunion myset2 myset3
1) "two"
2) "three"
3) "one"
sunionstore:返回所有給定key的並集,並將結果存為另一個key。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sunionstore myset6 myset2 myset3
(integer) 3
127.0.0.1:6379> smembers myset6
1) "two"
2) "three"
3) "one"
smove:從第一個key對應的set中移除member並新增到第二個對應的set中。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smove myset2 myset7 three
(integer) 1
127.0.0.1:6379> smembers myset2
1) "two"
127.0.0.1:6379> smembers myset7
1) "three"
scard:返回名稱為key的set的元素個數。
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> scard myset3
(integer) 2
sismember:測試member是否是名稱為key的set的元素
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sismember myset3 two
(integer) 1
127.0.0.1:6379> sismember myset3 three
(integer) 0
srandmember:隨機返回名稱為key的set的一個元素,但不刪除元素。
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> srandmember myset3
"one"
127.0.0.1:6379> srandmember myset3
"two"
sadd:向名稱為key的set中新增元素,不能新增重複的元素。
127.0.0.1:6379> sadd myset hello
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 0
127.0.0.1:6379> smembers myset
1) "hello"
2) "world"
srem:刪除名稱為key的set中的元素。
127.0.0.1:6379> sadd myset2 one
(integer) 1
127.0.0.1:6379> sadd myset2 two
(integer) 1
127.0.0.1:6379> srem myset2 one
(integer) 1
127.0.0.1:6379> smembers myset2
1) "two"
spop:隨機返回並刪除名稱為key的set中一個元素。
127.0.0.1:6379> sadd myset3 one
(integer) 1
127.0.0.1:6379> sadd myset3 two
(integer) 1
127.0.0.1:6379> spop myset3
"two"
127.0.0.1:6379> smembers myset3
1) "one"
sdiff:返回所有給定key與第一個key的差集
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sdiff myset2 myset3
1) "three"
sdiffstore:返回所有給定key與第一個key的差集,並將結果存為另一個key。
127.0.0.1:6379> sdiffstore myset4 myset2 myset3
(integer) 1
127.0.0.1:6379> smembers myset4
1) "three"
sinter:返回所有給定key的交集。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sinter myset2 myset3
1) "two"
sinterstore:返回所有給定key的交集,並將結果存為另一個key。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sinterstore myset6 myset2 myset3
(integer) 1
127.0.0.1:6379> smembers myset6
1) "two"
sunion:返回所有給定key的並集。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sunion myset2 myset3
1) "two"
2) "three"
3) "one"
sunionstore:返回所有給定key的並集,並將結果存為另一個key。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sunionstore myset6 myset2 myset3
(integer) 3
127.0.0.1:6379> smembers myset6
1) "two"
2) "three"
3) "one"
smove:從第一個key對應的set中移除member並新增到第二個對應的set中。
127.0.0.1:6379> smembers myset2
1) "three"
2) "two"
127.0.0.1:6379> smove myset2 myset7 three
(integer) 1
127.0.0.1:6379> smembers myset2
1) "two"
127.0.0.1:6379> smembers myset7
1) "three"
scard:返回名稱為key的set的元素個數。
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> scard myset3
(integer) 2
sismember:測試member是否是名稱為key的set的元素
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> sismember myset3 two
(integer) 1
127.0.0.1:6379> sismember myset3 three
(integer) 0
srandmember:隨機返回名稱為key的set的一個元素,但不刪除元素。
127.0.0.1:6379> smembers myset3
1) "two"
2) "one"
127.0.0.1:6379> srandmember myset3
"one"
127.0.0.1:6379> srandmember myset3
"two"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2143378/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# 通過ServiceStack 操作Redis——Set型別的使用及示例C#Redis型別
- Redis 基本資料型別(Set) 的操作命令Redis資料型別
- Redis 資料型別及操作Redis資料型別
- 《閒扯Redis九》Redis五種資料型別之Set型Redis資料型別
- redis-9.set型別Redis型別
- Redis五大資料型別之 Set(集合)Redis大資料資料型別
- redis-10.sorted_set型別Redis型別
- 07 redis-資料型別 setRedis資料型別
- Redis之setRedis
- Redis set資料型別命令使用及應用場景使用總結Redis資料型別
- [Redis 基礎知識] Redis Set 型別常用命令Redis型別
- Redis資料型別基本操作Redis資料型別
- python操作符及資料型別之整形Python資料型別
- 操作型別之字串型別字串
- 六、redis之setRedis
- python-資料型別之set集合Python資料型別
- python 集合型別 setPython型別
- 變數型別-Set變數型別
- redis-資料型別及命令Redis資料型別
- MYSQL SET型別欄位的SQL操作知識介紹MySql型別
- 《閒扯Redis六》Redis五種資料型別之Hash型Redis資料型別
- (四)Python中的字串型別及操作Python字串型別
- redis常用資料型別操作命令集錦Redis資料型別
- Redis系列-資料型別及使用場景Redis資料型別
- Redis 資料型別及常用命令Redis資料型別
- redis資料型別及應用場景Redis資料型別
- JS 基礎型別之裝箱操作JS型別
- c# 操作Redis的五種基本型別總結C#Redis型別
- Redis In Action 筆記(一):基本資料型別及其操作Redis筆記資料型別
- Redis 五種資料型別和相關操作命令Redis資料型別
- sql注入之型別及提交注入SQL型別
- 操作Redis之go-redisRedisGo
- Redis 三種特殊資料型別之 HyperloglogRedis資料型別
- Redis 三種特殊資料型別之 BitmapsRedis資料型別
- 操作Redis之redigoRedisGo
- JS 裡的資料型別及幾個操作JS資料型別
- 【Redis】Redis的資料型別速查(5種基礎型別,5特殊型別)Redis資料型別
- 【JS迷你書】基本型別之拆箱操作JS型別
- Python&Redis 無序集合set、有序集合zset操作PythonRedis