redis中的5種資料結構

2021-07-11 09:17:33 字數 1504 閱讀 7941

這裡的資料結構指的是key-value中value的資料結構,分別為string、hash、list、set、sorted set。每種資料結構都有相關的命令,比如set命令表示使用string來儲存value,get命令的引數只能為對應value值儲存為string的key,操作其他資料結構需要相應的命令,這些命令可以從redis官方站點查詢。

set

keyvalue

getkey

strlen key

getrange key

start

endvalue

在大多數情況之外,就是string中儲存的為純數字的情況,redis可以將字串當做數字進行進一步操作,這些操作包括decr、decrby、incr、incrby和incrbyfloat。

使用hash時,在我看來,就是value本身就是一組key-value對,不過redis將這裡的key稱為field(但是hkeys命令為什麼不叫hfields命令呢哈哈),也就是value是一組field-value對。其基本操作命令有hset、hget、hmset、hmget、hgetall、hkeys和hdel:

hset key field value

hget key field

hmset key field value [field value ...]

hmget key field [field ...]

hgetall key

hkeys key

hdel key field [field ...]

使用list時,value就是乙個string陣列,操作這組string時,可以像對待棧一樣使用pop和push操作,但是這個棧兩端都能進行操作;也可以像對待陣列一樣使用乙個index引數來操作。list的操作命令略雜,主要分為兩類:l開頭的和r開頭的,l代表left或者list,進行一些從列表左端進行的操作,或者一些與端無關的操作;r代表right,進行一些從列表右端進行的操作。

set用於儲存一組不重複的值,也可以進行一些集合的操作,就像數學上的集合,它是無序的。基本操作有sadd和sismember:

sadd key member [member ...]

sismember key member

集合操作有:求交sinter、求並sunion和求差sdiff:

sinter key [key ...]

sunion key [key ...]

sdiff key [key ...]

sorted set類似set,但是sorted set裡每個元素都有乙個score,這個score可用於排序和排名。基本操作有zadd、zcount、zrank:

zadd key score member [score member ...]

zcount key min max

zrank key member

Redis的5種資料結構

參考 基本型別有5個,string,mapmap,list,set,zset 從上到下一一對應,這是我取得別名 string 就是儲存二進位製流,這時候,jpg等,只要轉碼成功,均可儲存。mapmap 之所以叫mapmap,是因為,redis本身就是個map,而且儲存的不僅僅是乙個map,而是。ma...

Redis 5種資料結構

redis支援五種資料型別 1 string 字串 string型別是redis最基本的資料型別,乙個key對應乙個value。string型別是二進位制安全的。意思是redis的string可以包含任何資料。比如jpg或者序列化的物件 2 hash 雜湊 redis hash 是乙個鍵值對集合。r...

Redis 5種資料結構

在正式介紹5種資料結構之前,我們先了解下redis的一些全域性命令 資料結構和內部編碼 單執行緒命令處理機制。1.全域性命令 檢視所有鍵 keys keys命令會遍歷所有鍵,所以它的複雜度是o n 當redis儲存大量資料時,線上環境禁止使用 當前資料庫中鍵的總數 dbsize 檢查鍵是否存在 ex...