Redis的資料型別及操作 四 set型別

2021-09-26 08:47:53 字數 4505 閱讀 7417

redis的set是string型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。

序號命令及描述

1sadd key member1 [member2] 向集合新增乙個或多個成員

2scard key 獲取集合的成員數

3sdiff key1 [key2] 返回給定所有集合的差集

4sdiffstore destination key1 [key2] 返回給定所有集合的差集並儲存在 destination 中

5sinter key1 [key2] 返回給定所有集合的交集

6sinterstore destination key1 [key2] 返回給定所有集合的交集並儲存在 destination 中

7sismember key member 判斷 member 元素是否是集合 key 的成員

8smembers key 返回集合中的所有成員

9smove source destination member 將 member 元素從 source 集合移動到 destination 集合

10spop key 移除並返回集合中的乙個隨機元素

11srandmember key [count] 返回集合中乙個或多個隨機數

12srem key member1 [member2] 移除集合中乙個或多個成員

13sunion key1 [key2] 返回所有給定集合的並集

14sunionstore destination key1 [key2] 所有給定集合的並集儲存在 destination 集合中

15sscan key cursor [match pattern] [count count] 迭代集合中的元素

127.0.0.1:6379> sadd myset "hello" "world"

(integer) 2

127.0.0.1:6379> sadd myset "hi"

(integer) 1

127.0.0.1:6379> sadd myset "hello"

(integer) 0

我們向myset中新增了四個元素,但由於第四個元素跟第乙個元素是相同的,所以第四個元素沒有新增成功

127.0.0.1:6379> smembers myset

1) "world"

2) "hello"

3) "hi"

刪除名稱為key的 set中的元素member 

127.0.0.1:6379> sadd myset1 "one"

(integer) 1

127.0.0.1:6379> sadd myset1 "two" "three" "four"

(integer) 3

127.0.0.1:6379> srem myset1 "two"

(integer) 1

127.0.0.1:6379> srem myset1 "one" "four"

(integer) 2

127.0.0.1:6379> smembers myset1

1) "three"

127.0.0.1:6379> sadd myset2 "one" "two" "three"

(integer) 3

127.0.0.1:6379> spop myset2

"one"

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

返回所有給定key 與第乙個key的差集

127.0.0.1:6379> smembers myset1

1) "three"

2) "four"

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> sdiff myset1 myset2

1) "four"

返回所有給定key 與第乙個key的差集,並將結果存為另乙個 key

127.0.0.1:6379> smembers myset1

1) "three"

2) "four"

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> sdiffstore myset3 myset1 myset2

(integer) 1

127.0.0.1:6379> smembers myset3

1) "four"

127.0.0.1:6379> smembers myset1

1) "three"

2) "four"

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> sinter myset1 myset2

1) "three"

返回所有給定key 的交集,並將結果存為另乙個 key 

127.0.0.1:6379> smembers myset1

1) "three"

2) "four"

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> sinterstore myset4 myset1 myset2

(integer) 1

127.0.0.1:6379> smembers myset4

1) "three"

127.0.0.1:6379> smembers myset1

1) "three"

2) "four"

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> sunion myset1 myset2

1) "three"

2) "four"

3) "two"

返回所有給定key 的並集,並將結果存為另乙個 key

127.0.0.1:6379> smembers myset1

1) "three"

2) "four"

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> sunionstore myset5 myset1 myset2

(integer) 3

127.0.0.1:6379> smembers myset5

1) "three"

2) "four"

3) "two"

127.0.0.1:6379> smembers myset1

1) "three"

2) "four"

127.0.0.1:6379> smembers myset5

1) "three"

2) "four"

3) "two"

127.0.0.1:6379> smove myset1 myset6 three

(integer) 1

127.0.0.1:6379> smembers myset6

1) "three"

myset1 的three 被移到 myset6中了

127.0.0.1:6379> scard myset5

(integer) 3

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> sismember myset2 two

(integer) 1

127.0.0.1:6379> sismember myset2 five

(integer) 0

127.0.0.1:6379> smembers myset2

1) "three"

2) "two"

127.0.0.1:6379> srandmember myset2

"three"

127.0.0.1:6379> srandmember myset2

"three"

127.0.0.1:6379> srandmember myset2

"three"

127.0.0.1:6379> srandmember myset2

"two"

Redis資料型別及操作(二)

redis資料型別及操作 二 redis是key value的資料結構,每條資料都是乙個鍵值對 鍵的型別是字串,並且鍵是不能夠重複的 值的型別有string hash list set zset。查詢鍵 支援正規表示式 key patterns 檢視所有鍵 keys 檢視名稱中包含a的鍵 keys ...

Redis四 Redis資料型別

redis是乙個高效能的資料結構伺服器,稱之為資料結構伺服器的原因是,它提供了豐富的資料型別以滿足不同的應用場景,本文對redis的資料型別以及對這些型別可能的操作進行總結。redis常用的資料型別包括string set list hash以及sorted set.redis本身是k v系統,這裡...

Redis資料型別及常用的操作

資料型別 string 字串 hash 雜湊 理解成陣列 list 列表 set 集合,不能有重複值 sorted set 有序集合 string常用的操作 set key,val 設定乙個值 get val 取出乙個值 incr key 自增1 decr key 自減1 expire key 設定...