redis學習筆記三(set)

2021-10-10 03:28:47 字數 3036 閱讀 3335

sadd [keyname] [value] #向set存入值

smembers [keyname] #查詢set的所有值

sismember [keyname] [value] #查詢指定的值是否存在

127.0.0.1:6379> sadd myset v1

(integer) 1

127.0.0.1:6379> sadd myset v1

(integer) 0

127.0.0.1:6379> sadd myset v1

(integer) 0

127.0.0.1:6379> sadd myset v2

(integer) 1

127.0.0.1:6379> sadd myset v3

(integer) 1

127.0.0.1:6379> sget myset

(error) err unknown command `sget`, with args beginning with: `myset`,

127.0.0.1:6379> smembers myset

1) "v3"

2) "v2"

3) "v1"

127.0.0.1:6379> sismember myset v1

(integer) 1

scard [keyname] #獲取指定set的元素個數

127.0.0.1:6379> scard myset

(integer) 3

srem [keyname] [value] #移除指定的set集合的指定值

127.0.0.1:6379> srem myset v1

(integer) 1

127.0.0.1:6379> smembers myset

1) "v3"

2) "v2"

srandmember [keyname] [count] # 隨機抽取set中的值

127.0.0.1:6379> srandmember  myset 1

1) "v3"

127.0.0.1:6379> srandmember  myset 1

1) "v3"

127.0.0.1:6379> srandmember  myset 1

1) "v2"

127.0.0.1:6379> srandmember  myset 1

1) "v2"

127.0.0.1:6379> srandmember  myset 1

1) "v2"

127.0.0.1:6379> srandmember  myset 1

1) "v3"

spop [keyname] [count] #隨機移除指定個數的元素

127.0.0.1:6379> smembers myset

1) "v4"

2) "v6"

3) "v7"

4) "v3"

5) "v1"

6) "v2"

127.0.0.1:6379> spop myset

"v3"

127.0.0.1:6379> smembers myset

1) "v4"

2) "v6"

3) "v7"

4) "v1"

5) "v2"

smove [source] [destination] [value] #將指定set集合的值移動到指定set

127.0.0.1:6379> smembers myset

1) "v4"

2) "v6"

3) "v7"

4) "v1"

5) "v2"

127.0.0.1:6379> smove myset yourset v1

(integer) 1

127.0.0.1:6379> smembers myset

1) "v4"

2) "v6"

3) "v7"

4) "v2"

127.0.0.1:6379> smembers yourset

1) "v1"

sdiff [keyname1] [keyname2]  #差集

sinter [keyname1] [keyname2] #交集

sunion [keyname1] [keyname2] #並集

127.0.0.1:6379> sadd key1 a

(integer) 1

127.0.0.1:6379> sadd key1 b

(integer) 1

127.0.0.1:6379> sadd key1 c

(integer) 1

127.0.0.1:6379> sadd key2 d

(integer) 1

127.0.0.1:6379> sadd key2 e

(integer) 1

127.0.0.1:6379> sadd key2 f

(integer) 1

127.0.0.1:6379> sadd key2 c

(integer) 1

127.0.0.1:6379> sdiff key1 key2

1) "a"

2) "b"

127.0.0.1:6379> sdiff key2 key1

1) "d"

2) "e"

3) "f"

127.0.0.1:6379> sinter key1 key2

1) "c"

127.0.0.1:6379> sunion key1 key2

1) "d"

2) "b"

Redis學習筆記 集合物件set

參考 集合物件的編碼是 1.1 intset編碼 intset編碼的集合物件使用整數集合作為底層實現,集合物件包含的所有元素都被儲存在整數集合裡面。建立乙個使用intset編碼的集合物件 redis sadd nums 1 3 5 integer 3 redis object encoding nu...

Redis學習筆記(三) pipeline

redis客戶端執行一條命令分4個過程 傳送命令 命令排隊 命令執行 返回結果這個過程稱為round trip time 簡稱rtt,往返時間 mgetmset有效節約了rtt,但大部分命令 如hgetall,並沒有mhgetall 不支援批量操作,需要消耗n次rtt,這個時候需要pipeline來...

redis學習之四 Set

集合的性質 唯一性,無序性,確定性。在string和link的命令中,可以通過range 來訪問string中的某幾個字元或某幾個元素 但,因為集合的無序性,無法通過下標或範圍來訪問部分元素。因此想看元素,要麼隨機先乙個,要麼全選。1 往集合key中增加元素 sadd key value1 valu...