Redis五大資料型別之 Set(集合)

HuDu發表於2020-09-11

set中的值不能重複

127.0.0.1:6379[1]> sadd myset hello    # set集合中新增勻速
(integer) 1
127.0.0.1:6379[1]> sadd myset hudu
(integer) 1
127.0.0.1:6379[1]> SMEMBERS myset    # 檢視指定set的所有的值
1) "hello"
2) "hudu"
127.0.0.1:6379[1]> SISMEMBER myset hello    # 判斷某一個值是否在set
(integer) 1
127.0.0.1:6379[1]> SISMEMBER myset world
(integer) 0
127.0.0.1:6379[1]> SCARD myset    # 獲取set集合中的內容元素的個數
(integer) 2
127.0.0.1:6379[1]> SADD myset hudu    # 無法新增重複的元素
(integer) 0
  • 移除set中的值
127.0.0.1:6379[1]> SCARD myset
(integer) 2
127.0.0.1:6379[1]> SREM myset hello    # 移除set中的指定的元素
(integer) 1
127.0.0.1:6379[1]> SCARD myset
(integer) 1
127.0.0.1:6379[1]> SMEMBERS myset
1) "hudu"
  • set 無序不重複,隨機抽選出指定個數的元素
127.0.0.1:6379[1]> sadd myset test hello redis mongodb
(integer) 4
127.0.0.1:6379[1]> SCARD myset
(integer) 5
127.0.0.1:6379[1]> SMEMBERS myset
1) "redis"
2) "hello"
3) "hudu"
4) "test"
5) "mongodb"
127.0.0.1:6379[1]> SRANDMEMBER myset    # 隨機抽選出一個元素
"hello"
127.0.0.1:6379[1]> SRANDMEMBER myset 1    # 隨機抽選出指定個數的元素
1) "hudu"
127.0.0.1:6379[1]> SRANDMEMBER myset 1
1) "test"
  • 刪除指定的key,隨機刪除一個key
127.0.0.1:6379[1]> SMEMBERS myset
1) "hello"
2) "redis"
3) "test"
4) "mongodb"
5) "hudu"
127.0.0.1:6379[1]> spop myset    # 隨機刪除一些set集合中的元素
"redis"
127.0.0.1:6379[1]> SMEMBERS myset
1) "hello"
2) "test"
3) "mongodb"
4) "hudu"
  • 將一個指定的值,移動到另一個set集合中
127.0.0.1:6379[1]> flushdb
OK
127.0.0.1:6379[1]> sadd myset hello world hudu
(integer) 3
127.0.0.1:6379[1]> sadd myset2 set2
(integer) 1
127.0.0.1:6379[1]> smove myset myset2 hudu    # 將一個指定的值,移動到另一個set集合中
(integer) 1
127.0.0.1:6379[1]> SMEMBERS myset2
1) "set2"
2) "hudu"
127.0.0.1:6379[1]> SMEMBERS myset
1) "hello"
2) "world"
  • 共同關注!交集
127.0.0.1:6379[1]> sadd key1 a b c
(integer) 3
127.0.0.1:6379[1]> sadd key2 c d e
(integer) 3
127.0.0.1:6379[1]> sdiff key1 key2    # 差集
1) "a"
2) "b"
127.0.0.1:6379[1]> SINTER key1 key2    # 交集
1) "c"
127.0.0.1:6379[1]> SUNION key1 key2    # 並集
1) "a"
2) "b"
3) "c"
4) "e"
5) "d"
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章