Redis的集合型別(Set)
Redis的Set是string型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。
Redis 中 集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是O(1)。
集合中最大的成員數為 2 32 - 1 (4294967295, 每個集合可儲存40多億個成員)。
本次演示set的基本操作
新增一個string元素到,key對應的set集合中,成功返回1,如果元素以及在集合中返回0,key對應的set不存在返回錯誤 127.0.0.1:6379> sadd test_set 222 (integer) 1 127.0.0.1:6379> sadd test_set 111 (integer) 1 127.0.0.1:6379> sadd test_set 333 (integer) 1 127.0.0.1:6379> sadd test_set 333 (integer) 0 返回集合中的所有成員 127.0.0.1:6379> smembers test_set 1) "111" 2) "222" 3) "333" srandmember為返回集合中一個或多個隨機數 127.0.0.1:6379> srandmember test_set 2 1) "333" 2) "111" 再新增一個set集合test_set2 127.0.0.1:6379> sadd test_set2 aaa (integer) 1 127.0.0.1:6379> sadd test_set2 bbb (integer) 1 127.0.0.1:6379> sadd test_set2 ccc (integer) 1 sunion為返回所有給定集合的並集 127.0.0.1:6379> sunion test_set test_set2 1) "222" 2) "111" 3) "333" 4) "aaa" 5) "bbb" 6) "ccc"
Redis集合命令
SADD key member1 [member2] 向集合新增一個或多個成員
SCARD key 獲取集合的成員數
SDIFF key1 [key2] 返回給定所有集合的差集
SDIFFSTORE destination key1 [key2] 返回給定所有集合的差集並存儲在 destination 中
SINTER key1 [key2] 返回給定所有集合的交集
SINTERSTORE destination key1 [key2] 返回給定所有集合的交集並存儲在 destination 中
SISMEMBER key member 判斷 member 元素是否是集合 key 的成員
SMEMBERS key 返回集合中的所有成員
SMOVE source destination member 將 member 元素從 source 集合移動到destination 集合
SPOP key 移除並返回集合中的一個隨機元素
SRANDMEMBER key [count] 返回集合中一個或多個隨機數
SREM key member1 [member2] 移除集合中一個或多個成員
SUNION key1 [key2] 返回所有給定集合的並集
SUNIONSTORE destination key1 [key2] 所有給定集合的並集儲存在destination 集合中
SSCAN key cursor [MATCH pattern] [COUNTcount] 迭代集合中的元素