天天看點

Redis資料類型詳解(五種)

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五種資料類型詳解。