Redis Redis的資料型別

2021-10-06 03:47:16 字數 1055 閱讀 4918

①string 是 redis 最基本的型別,可以理解成與 memcached一模一樣的型別,乙個 key 對應乙個 value。value 不僅是 string,也可以是數字。

string 型別是二進位制安全的,意思是 redis 的 string 型別可以包含任何資料,比如 jpg 或者序列化的物件。string 型別的值最大能儲存 512m。

②hash是乙個鍵值(key-value)的集合。redis 的 hash 是乙個 string 的 key 和 value 的對映表,hash 特別適合儲存物件。常用命令:hget,hset,hgetall 等。

③list 列表是簡單的字串列表,按照插入順序排序。可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊) 常用命令:lpush、rpush、lpop、rpop、lrange(獲取列表片段)等。

應用場景:list 應用場景非常多,也是 redis 最重要的資料結構之一,比如 twitter 的關注列表,粉絲列表都可以用 list 結構來實現。

資料結構:list 就是鍊錶,可以用來當訊息佇列用。redis 提供了 list 的 push 和 pop 操作,還提供了操作某一段的 api,可以直接查詢或者刪除某一段的元素。

實現方式:redis list 的是實現是乙個雙向鍊錶,既可以支援反向查詢和遍歷,更方便操作,不過帶來了額外的記憶體開銷。

④set 是 string 型別的無序集合。集合是通過 hashtable 實現的。set 中的元素是沒有順序的,而且是沒有重複的。常用命令:sdd、spop、smembers、sunion 等。

應用場景:redis set 對外提供的功能和 list 一樣是乙個列表,特殊之處在於 set 是自動去重的,而且 set 提供了判斷某個成員是否在乙個 set 集合中。

⑤zset 和 set 一樣是 string 型別元素的集合,且不允許重複的元素。常用命令:zadd、zrange、zrem、zcard 等。

使用場景:sorted set 可以通過使用者額外提供乙個優先順序(score)的引數來為成員排序,並且是插入有序的,即自動排序。

當你需要乙個有序的並且不重複的集合列表,那麼可以選擇 sorted set 結構。

Redis Redis的資料型別

儲存string字串,使用get,set命令,乙個鍵最大儲存512m 儲存hash雜湊,使用hmset和hgetall命令,引數 鍵,值 例如 hmset user 1 username taoshihan password taoshihan hgetall user 1 儲存list列表,可以重...

Redis Redis資料型別底層結構

參考 redis設計與實現 redis伺服器的16個庫由redisserver結構體來儲存 struct redisserverredis客戶端,通過修改指向的redis伺服器的db指標,來切換資料庫 redis中的乙個庫下所有k v全都儲存在乙個字典內部 乙個庫乙個鍵空間 redis五種資料結構底...

Redis Redis 資料型別及應用場景

目錄 一 redis 特點 二 設計 redis key 三 string資料型別的應用場景 四 hash 資料型別的應用場景 五 list 資料型別的應用場景 六 set 資料型別的應用場景 七 sorted set 資料型別的應用場景 通常我們都把資料存到關係型資料庫中,但為了提公升應用的效能,...