redis支援五種資料型別:string(字串)、hash(雜湊)、list(列表)、set(集合)、zset(sorted set:有序集合)。
string型別乙個key對應乙個value。
string型別是redis最基本的資料型別,以二進位制形式儲存,最大能儲存 512mb。
string形式:set name alice , get name
hash可以理解為儲存乙個物件的多個屬性,即乙個物件的多個key和value的對應關係。
每個 hash 可以儲存 232 - 1 鍵值對(40多億)
hash形式:hmset student name alice age 20 hobby reading ,hmget student name age hobby
list是乙個儲存字串的有序集合,可以從首尾增加或移出元素。
乙個列表最多可以包含 232 - 1 個元素 (4294967295, 每個列表超過40億個元素)。
list形式:ipush lastname li,ipush lastname wang,ipush lastname zhang
set是乙個儲存字串的無序集合,集合中的元素唯一即不重複。
有序集合和集合一樣也是字串的集合,且不允許重複的成員。
不同的是每個元素都會關聯乙個double型別的分數,redis正是通過分數來為集合中的成員進行從小到大的排序。
有序集合的成員是唯一的,但分數(score)卻可以重複。
集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是o(1)。 集合中最大的成員數為 232 - 1 (4294967295, 每個集合可儲存40多億個成員)。
Redis資料結構
字典 dict 是redis裡最核心的資料結構,正如其全稱remote dictionary service所說,redis其實就是乙個字典服務,字典以key value的形式呈現給使用者,key是簡單的字串,而value可以是各種資料結構,比如字串 string 鍊錶 list 集合 set 排序...
Redis 資料結構
最近接觸到了redis的使用,借這個機會深入的了解一下redis的實現和設計原理。下面先介紹一下redis底層所用到的資料結構。redis的實現幾乎都是基於下面的幾個資料結構之上的。struct sdshdr struct listnode struct list struct dictentry ...
redis 資料結構
今天學習了redis的列表型別 lpush ltrim lrange lpush mylist content ltrim 0,99 lrange 0,1 lrange 兩個引數 分別代表第乙個元素和最後乙個元素 redis的列表型別,可以用來做訊息佇列 使用乙個程序 用lpush命名作為生產者 使...