初識redis之常用Set和ZSet命令

2021-07-07 07:10:19 字數 1726 閱讀 7746

redis五種資料型別:string,hash,list,set,zset。五種資料型別各有優點,各司其職。最後兩種資料型別set和zset基本上是一種,zset就是給set加了個排序而已(相當於加了個屬性)。

set是通過hash表實現,增刪改的查詢複雜度都是o(1)。zset相當於set的公升級版本。

下面直接上命令了:

set:無序集合,通過hash table實現,新增,刪除,查詢複雜度都是o(1)

命令:sadd myset hello   向myset集合新增hello元素(不能重複,重複返回0)

smembers myset   檢視myset集合中所有元素

srem  myset hello  刪除myset中的hello元素

spop myset    從myset中隨機刪除乙個元素

sdiff myset1 myset2   集合myset1和集合myset2的差集(1有而2沒有的)

sdiffstore myset3 myset1 myset2   將myset1和myset2的差集存入myset3

sinter myset1 myset2   獲取myset1和myset2的交集

sinterstore myset3 myset1 myset2  將myset1和myset2的交集存入myset3

sunion myset1 myset2 獲取myset1和myset2的並集

sunionstore myset3 myset1 myset2 將myset1和myset2的並集存入myset3

smove myset1 myset2 jeyson   將jeyson元素從myset1移到myset2中

scard myset1  獲取myset1中元素個數

sismember myset1 hello  測試hello是否是myset1的元素,是返回1 否則0

srandmember myset1   隨機返回myset1乙個元素,但不刪除

zset:有序集合,為set的公升級版本,增加了乙個順序屬性

命令:zadd myset 1 one   向myset集合新增順序為1的元素one

更新順序也是這個命令  zadd myset 2 one  把one的順序號改為2

zrange myset 0 -1 withscores  獲取集合中所有元素(帶序號)

zrevrange myset 0 -1 withscores  獲取集合中所有元素(帶序號)(降序)

zrange myset 0 -1 獲取集合中所有元素(不帶序號)

zrem myset one 刪除集合中one元素

zincrby myset 3 three  將three的順序號增加3(如果沒有three則建立three,順序為3)

zrank myset one 返回one的索引(不是順序,索引從0開始)(公升序後)

zrevrank myset one 返回one的索引(從大到小)(降序後)

zrangebyscore myset 2 5 withscores 獲取順序為2-5的元素

zcount myset 2 5  返回集合中順序在2-5的元素數量

zcard myset  返回集合中所有元素個數

zremrangebyrank  myset 2 5  刪除指定索引區間內(2-5)的元素

zremrangebyscore  myset 2 5  刪除指定順序區間內(2-5)的元素

redis之集合型別(set)

redis集合是乙個無序的字串合集。你可以以o 1 的時間複雜度 無論集合中有多少元素時間複雜度都為常量 完成 新增,刪除以及測試元素是否存在的操作。redis集合有著不允許相同成員存在的優秀特性。向集合中多次新增同一元素,在集合中最終只會存在乙個此元素。實際上這就意味著,在新增元素前,你並不需要事...

redis之set集合操作

sadd key members1 members2 向集合中新增乙個元素 smembers key 返回集合中所有的元素 當元素比較多的時候伺服器壓力會比較大 sismember key members 檢查key這個集合中 members 元素是否存在 srem key member 刪除元素中...

redis命令之集合(set)

一 常用命令 1 sadd set key item item 說明 將乙個或多個元素新增到set key中,返回新增成功的個數1 smembers set key說明 獲取set key中所有元素,如果set key儲存的不是乙個集合,返回乙個錯誤。2 sismember set key item...