redis資料類型

來源:互聯網
上載者:User

標籤:string   類型   coding   bubuko   int   預設   ima   對象   技術   

Redis基礎資料型別 (Elementary Data Type)

Redis目前支援5種資料類型,分別是:

String(字串)

List(列表)

Hash(字典)

Set(集合)

Sorted Set(有序集合)

下面就分別介紹這五種資料類型及其相應的操作命令。

 

String(字串)

String是簡單的 key-value 索引值對,value 不僅可以是 String,也可以是數字。String在redis內部儲存預設就是一個字串,被redisObject所引用,當遇到incr,decr等操作時會轉成數值型進行計算,此時redisObject的encoding欄位為int。

String在redis內部儲存預設就是一個字串,被redisObject所引用,當遇到incr,decr等操作時會轉成數值型進行計算,此時redisObject的encoding欄位為int。

應用情境:

String是最常用的一種資料類型,普通的key/value儲存都可以歸為此類,這裡就不所做解釋了。

一般用String多  因為一般Json多 redis存放對象就是json的  通過redis取得json後還原序列化  

 

List(列表)

 

Redis列表是簡單的字串列表,可以類比到C++中的std::list,簡單的說就是一個鏈表或者說是一個隊列。可以從頭部或尾部向Redis列表添加元素。列表的最大長度為2^32 - 1,也即每個列表支援超過40億個元素。

 

Redis list的實現為一個雙向鏈表,即可以支援反向尋找和遍曆,更方便操作,不過帶來了部分額外的記憶體開銷,Redis內部的很多實現,包括髮送緩衝隊列等也都是用的這個資料結構。

 

應用情境

Redis list的應用情境非常多,也是Redis最重要的資料結構之一,比如twitter的關注列表、粉絲列表等都可以用Redis的list結構來實現,再比如有的應用使用Redis的list類型實現一個簡單的輕量級訊息佇列,生產者push,消費者pop/bpop。

存入三個值到List中

查詢:

從0到10

 

Hash(字典)

Redis Hash對應Value內部實際就是一個HashMap,實際這裡會有2種不同實現,這個Hash的成員比較少時Redis為了節省記憶體會採用類似一維數組的方式來緊湊儲存,而不會採用真正的HashMap結構,對應的value redisObject的encoding為zipmap,當成員數量增大時會自動轉成真正的HashMap,此時encoding為ht。

 

 

Set(集合)

 

Redis的Set是string類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。

Redis 中 集合是通過雜湊表實現的,所以添加,刪除,尋找的複雜度都是O(1)。

集合中最大的成員數為 232 - 1 (4294967295, 每個集合可儲存40多億個成員)。

 

 

 

 

Sorted Set(有序集合)

 

Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重複的成員。

不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

有序集合的成員是唯一的,但分數(score)卻可以重複。

集合是通過雜湊表實現的,所以添加,刪除,尋找的複雜度都是O(1)。 集合中最大的成員數為 232 - 1 (4294967295, 每個集合可儲存40多億個成員)。

 

 

 

 通過視覺化檢視 Redis Client:

預設都是在db0的哦

 

redis資料類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.