博客 / 詳情

返回

Redis數據類型以及應用場景

Redis支持五種數據類型
string(字符串)
hash(哈希)
list(列表)
set(集合)
zset(sorted set:有序集合)。

一、String

説明:

string 類型是二進制安全的。redis 的 string 可以包含任何數據。比如jpg圖片或者序列化的對象。
string 類型是 Redis 最基本的數據類型,string 類型的值最大能存儲 512MB。

場景:

很少使用

二、Hash

説明:

redis hash 是一個鍵值(key=>value)對集合。
redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用於存儲對象。

場景:

存儲、讀取、修改用户屬性

三、List(列表)

説明:

Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。

場景:

消息隊列
郵件存儲(按照順序存儲)

四、set

説明:

Redis 的 Set 是 string 類型的無序集合。
集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是 O(1)。
添加一個 string 元素到 key 對應的 set 集合中,成功返回 1,如果元素已經在集合中返回 0。

場景:

共同好友
利用唯一性,統計訪問網站的所有獨立ip
好友推薦時,根據tag求交集,大於某個閾值就可以推薦

五、sorted set 有序集合

説明:

Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重複的成員。
不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
有序集合的成員是唯一的,但分數(score)卻可以重複。
集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是O(1)。集合中最大的成員數為 232 - 1 (4294967295, 每個集合可存儲40多億個成員)。

場景:

排行榜
帶權重的消息隊列

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.