Redis資料類型簡介

來源:互聯網
上載者:User

標籤:資料類型   集合   散列   redis   

    Redis是一個開源的的KVStore for Redis或緩衝,它提供了豐富的資料類型。主要包括字串,散列,列表,集合和有序集合,不同的資料類型有不同的適用情境。本文對Redis各個資料類型做簡單的介紹以便新接觸redis的童鞋能夠儘快的熟悉和使用。


1.字串類型

定義該類型的資料能夠儲存任何形式的字串,甚至包括圖片,JSON對象等。但是儲存大小有一定的限制,如每個索引值最大為512M,但是這足以滿足絕大部分的應用。字串類型是Redis儲存的基本類型,從某種意義上來說其它集中資料類型也是對字串類型的組合。

簡單的用戶端使用命令如:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/54/1F/wKioL1R4ivzw4d5zAAIrKnAjmlY768.jpg" title="string.png" alt="wKioL1R4ivzw4d5zAAIrKnAjmlY768.jpg" />


2.HASH類型

散列類型類似於字典的結構,適合儲存某一實體的具體屬性。如book,有作者、出版社、出版日期等資訊。實際上其儲存的是欄位和相應值的映射。

簡單使用如:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/54/1F/wKioL1R4iyjw0SM5AAKtViLtTRM907.jpg" title="hash.png" alt="wKioL1R4iyjw0SM5AAKtViLtTRM907.jpg" />


3.清單類型

清單類型實際上儲存的是一個有序的字串列表,這與下面的集合類型對應。常用的列表操作就是在兩端添加元素,或者獲得列表中某一段的資料。列表實際上是使用雙向鏈表來實現的,所以在表兩端添加元素是很快的。但是當查列表中間的某些元素時,效率並不太高。

列表的簡單用法如下:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/54/20/wKiom1R4itiwd5bpAAFGcMYVGTo387.jpg" title="LIST.jpg" alt="wKiom1R4itiwd5bpAAFGcMYVGTo387.jpg" />

其實列表的使用情境還是比較廣的,如隊列的實現,日誌的儲存等,中可以利用LPUSH和LPOP實現棧的應用,利用LPUSH和RPOP實現隊列的用法(LRANGE命令顯示列表中的資料,0和-1分別代表左右邊界)。


4.集合類型

這裡的集合實際上類似於數學中的集合,常用與判斷某元素是否存在,如微博中好友關係的緩衝。集合在Redis內部是使用值為空白的散列表實現的。所以這些操作的時間複雜度為O(1)。使用集合可以方便的做集合運算,如交並差等,例如微博中可以輕易的顯示出兩個帳號的共同好友。

簡單的集合命令使用如下:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/54/20/wKiom1R4i46xowcFAAG9tV6c9uk308.jpg" style="float:none;" title="SET1.jpg" alt="wKiom1R4i46xowcFAAG9tV6c9uk308.jpg" />

也可以將2個集合的運算結果存到另一個集合類型中:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/54/20/wKiom1R4i5SjpseiAACcKb_N98U112.jpg" style="float:none;" title="SET2.jpg" alt="wKiom1R4i5SjpseiAACcKb_N98U112.jpg" />



5.有序集合類型

在集合類型上,有序集合為集合中的每個元素都關聯一個分數。可以基於分數對有序集合值進行範圍內擷取,排序等操作。具體使用方式如下:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/54/1F/wKioL1R4jMDD7Q_-AADVRHt8nQE775.jpg" title="ZSET.jpg" alt="wKioL1R4jMDD7Q_-AADVRHt8nQE775.jpg" />


6.應用情境

筆者供職於一家遊戲公司,就目前的應用來看,Redis被廣泛的應用在資料的緩衝上。基本上是配置MySQL或者MongoDB作為DB層的資料存放區使用。簡單的分析下其各個類型的應用情境。

字串:一般用於帳號的映射。

散列:主要使用者帳號角色資訊及其附屬的裝備道具的儲存。

列表:隊列的應用,DB資料的緩寫等

集合:使用者單屬性記錄如好友等資訊

有序集合:如全域排行等

到期時間:常用於定期活動禮包的發放


關於Redis的資料類型就先介紹到這兒,後續將進一步介紹Redis的進階特性。


本文出自 “Haris” 部落格,謝絕轉載!

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.