Redis支援五種資料類型,即string(字元串)、hash(哈希)、list(清單)、set(集合)及zset(sorted set:有序集合),雲吞鋪子分享Redis資料類型諒解:
Redis資料類型彙總表
類型 | 簡介 | 特性 | 場景 |
---|---|---|---|
String(字元串) | 二進制安全 | 可以包含任何資料,比如jpg圖檔或者序列化的對象,一個鍵最大能存儲512M | --- |
Hash(字典) | 鍵值對集合,即程式設計語言中的Map類型 | 适合存儲對象,并且可以像資料庫中update一個屬性一樣隻修改某一項屬性值(Memcached中需要取出整個字元串反序列化成對象修改完再序列化存回去) | 存儲、讀取、修改使用者屬性List(清單) |
List(清單) | 連結清單(雙向連結清單) | 增删快,提供了操作某一段元素的API | 1、最新消息排行等功能(比如朋友圈的時間線) 2、消息隊列 |
Set(集合) | 哈希表實作,元素不重複 | 1、添加、删除,查找的複雜度都是O(1) 2、為集合提供了求交集、并集、差集等操作 | 1、共同好友 2、利用唯一性,統計通路網站的所有獨立ip 3、好友推薦時,根據tag求交集,大于某個門檻值就可以推薦 |
Sorted Set(有序集合) | 将Set中的元素增加一個權重參數score,元素按score有序排列 | 資料插入集合時,已經進行天然排序 | 1、排行榜 2、帶權重的消息隊列 |
Redis資料庫适用于熱資料處理、大資料等應用場景,阿裡雲NoSQL也推出了Redis版,可以參考關于
雲資料庫 Redis 版 - 阿裡雲的官方介紹。雲吞鋪子來分享Redis的五種資料類型:
String(字元串)
string是Redis的基本資料類型,最大能存512M,string類型是二進制安全的。
Hash(哈希)
hash是一個鍵值(key=>value)對集合,hash是一個string類型的field和value的映射表,hash特别适合用于存儲對象。
List(清單)
List是簡單的字元串清單,按照插入順序排序,清單最多可存儲232-1元素(4294967295, 每個清單可存儲40多億)。
Set(集合)
Set是string類型的無序集合,集合是通過哈希表實作的,是以添加、删除、查找的複雜度都是O(1),集合中最大的成員數為 232-1(4294967295,每個集合可存儲40多億個成員)。
zset(sorted set:有序集合)
zset和set一樣也是string類型元素的集合,且不允許重複的成員。不同的是每個元素都會關聯一個double類型的分數,redis正是通過分數來為集合中的成員進行從小到大的排序。
zset的成員是唯一的,但分數(score)卻可以重複。
以上為雲吞鋪子分享的Redis五種資料類型詳解。