redis的list、set、hash、sorted set型別
阿新 • • 發佈:2020-10-04
List
Redis的列表(List)資料型別可以被看作簡單的字串列表。列表按照插入順序排序。在操作Redis的列表時,可以將一個元素插入這個列表的頭部或尾部。一個列表大約可以儲存2*32-1個元素。
#從左向右將多個值插入列表中 LPUSH key value value ... #從左向右將多個值插入列表中 RPUSH key value value ... #檢視列表裡面所有的值(正向索引最開頭是0,反向索引最開頭是-1) LRANGE key 0 -1 #根據下標(index)取出列表中的值 LINDEX key index #更具下標更新裡面一個值 LSET key index value #從左到右移除某個元素 count(移除的元素個數,如果為負數則移除位置相反) value(要移除的元素) LREM key count value #在value後面插入一個元素value1 LINSERT key after value value1 #在value前面插入一個元素value1 LINSERT key before value value1 #將值插入列表頭部 LPUSHX key value #將值插入列表尾部 RPUSHX key value #統計列表長度 LLEN key #返回並刪除列表的頭元素 LPOP key #返回並刪除列表的尾元素 RPOP key #在指定時間內刪除列表的頭元素 BLPOP key timeout #在指定時間內刪除列表的尾元素 BRPOP key timeout #在指定區間內修改列表 LTRIM key start stop #將列表尾元素移動到另一張表中 RPOPLPUSH key1 key2 #在指定時間內移動列表元素到另一張表 BRPOPLPUSH key1 key2 timeout
Hash
Redis的Hash型別是一個String型別的域(field)和值(value)的對映表,Hash數值型別常常用來儲存物件資訊。在Redis中,每個雜湊表可以儲存2*32-1個鍵值對也就是40多億個資料。
#設定雜湊表域的值 HSET key field value #獲取雜湊表域的值 HGET key field #為雜湊表不存在的域設值 HSETNX key field value #設定多個值 HMSET key field1 value1 field2 values #獲取多個值 HMGET key field1 field2 #檢視hash表頭 HKEYS key #檢視所有value值 HVALS key #獲取雜湊表裡面的所有資料 HGETALL key #把值加上一個num HINCRBYFLOAT key field num #把值減去一個num HINCRBYFLOAT key field -num #統計雜湊表中域的數量 HLEN key #統計域的值的字串長度 HSTRLEN key field #刪除雜湊表中的多個域 HDEL key field #判斷雜湊表中的域是否存在 HEXISTS key field
Set
Redis的資料型別集合(Set)是String型別的無序集合。集合無序且不存在重複的元素,每個元素都是唯一的。集合是通過雜湊表來實現的,所以使用集合進行增加、刪除、查詢操作時的效率特別高,複雜度為O(1)。一個集合所能儲存的最大容量為2*32-1個元素。
#新增多個元素到集合中 SADD key member... #移動集合元素到另一個集合 SMOVE source destination member #求出兩個數的交集,顯示在客戶端上 SINTER key1 key2 #求出兩個數的交集,結果返回給目標(dest),不顯示在客戶端上 SINTERSTORTE dest key1 key2 #求出兩個數的並集,顯示在客戶端上 SUNION key1 key2 #求出兩個數的並集,結果返回給目標(dest),不顯示在客戶端上 SUNIONSTORTE dest key1 key2 #求出兩個數的差集,顯示在客戶端上 SDIFF key1 key2 #判斷某個元素是否在集合中 SISMEMBER key number #獲取集合中的所有元素 SMEMBERS key #刪除集合中的元素 SPOP key #獲取集合中元素的數量 SCARD key #刪除集合中的多個元素 SREM key member #隨機事件 #count如果為正數:取出一個去重的結果集(不能超過已有集) #count如果為負數:取出一個帶重複的結果集,一定滿足你的數量 #count如果為0:不返回 SRANDMEMBER key count
Sorted Set
Redis的資料型別有序集合(Sorted Set)也是String型別的集合。有序集合中不存在重複的元素,每個複合元素都有對應double型別的分數。Redis就是通過這個元素對應的分數來為集合元素進行從小到大的排序。集合中的元素是唯一的,但是集合元素對應的分數值不唯一,可以重複。
有序列表採用雜湊表來實現,當面對增加,刪除,擦訊操作時,效率特別高,複雜度為O(1)。有序列表中所能儲存的最大元素數量是2*32-1個。
#新增多個元素到有序集合中
ZADD key sorce member ...
#獲取指定區間的元素(升序)
ZRANGE key start stop
#獲取指定區間的元素並顯示元素對應的score值
ZRANGE key start stop withscores
#獲取指定分數區間內的資料
ZRANGEBYSCORE key min max
#獲取在指定區間內的元素(降序)
ZREVRANGE key start stop
#獲取元素分值
ZSCORE key value
#獲取有序集合元素排名
ZRANK key value
#為分數值加上增量
ZINCRBY key increment member
#獲取有序集合中的元素數量
ZCARD key
#獲取在分數區間內的元素數量
ZCOUNT key min max
#獲取在指定區間內的元素數量
ZLEXCOUNT key min max
#獲取集合在指定範圍內的元素
ZRANGEBYLEX key min max
#獲取有序集合元素的倒序排名
ZREVRANK key member
#儲存多個有序集合的交集
ZINTERSTORE destination numkeys key [key...] [WEIGHTS weight [weight...]] [AGGREGATE SUM|MIN|MAX]
#儲存多個有序集合的並集
ZUNIONSTORE destination numkeys key [key...] [WEIGHTS weight [weight...]] [AGGREGATE SUM|MIN|MAX]
#刪除有序集合中的多個元素
ZREM key member
#刪除有序集合在指定區間內的元素
ZREMRANGEBYLEX key min max
#刪除有序集合在指定排名區間內的元素
ZREMRANGEBYRANK key start stop
#刪除有序集合在指定分數區間內的元素
ZREMRANGEBYSCORE key min max