首頁  >  文章  >  資料庫  >  redis資料型別區別

redis資料型別區別

(*-*)浩
(*-*)浩原創
2019-06-18 09:46:274913瀏覽

本文重要介紹,redis的五種資料類型,以及他們的差異。

redis資料型別區別

字串string:(建議學習:Redis影片教學

字串類型是Redis中最為基礎的數據存儲類型,是一個由字節組成的序列,他在Redis中是二進制安全的,這便意味著該類型可以接受任何格式的數據,如JPEG圖像數據貨Json對象描述信息等,是標準的key-value,一般來存字串,整數和浮點數。 Value最多可容納的資料長度為512MB

應用程式場景:很常見的場景用於統計網站存取數量,目前線上人數等。 incr命令( 操作)

列表list:

Redis的列表允許使用者從序列的兩端推入或彈出元素,列表由多個字串值組成的有序可重複的序列,是鍊錶結構,所以在列表兩端加入元素的時間複雜度為0(1),而取得越接近兩端的元素速度就越快。這意味著即使是一個有數千萬個元素的列表,取得頭部或尾部的10筆記錄也是極快的。 List中可以包含的最大元素數量是4294967295。

應用程式場景:1.最新消息排行榜。 2.訊息佇列,以完成多程式之間的訊息交換。可以用push操作將任務存在list中(生產者),然後執行緒在用pop操作將任務取出執行。 (消費者)

雜湊hash:

Redis中的雜湊可以看成具有String key和String value的map容器,可以將多個key- value儲存到一個key。每一個Hash可以儲存4294967295個鍵值對。

應用場景:例如儲存、讀取、修改使用者屬性(name,age,pwd等)

#集合set:

##Redis的集合是無序不可重複的,和列表一樣,在執行插入和刪除和判斷是否存在某元素時,效率是很高的。集合最大的優點在於可以進行交集並集差集操作。 Set可包含的最大元素數量是4294967295。

應用場景:1.利用交集求共同好友。 2.利用唯一性,可以統計造訪網站的所有獨立IP。 3.好友推薦的時候根據tag求交集,大於某個threshold(臨界值的)就可以推薦。

有序集合sorted set(zset):

和set很像,都是字串的集合,都不允許重複的成員出現在一個set中。他們之間差異在於有序集合中每一個成員都會有一個分數(score)與之關聯,Redis正是透過分數來為集合中的成員進行從小到大的排序。儘管有序集合中的成員必須是衛衣的,但是分數(score)卻可以重複。

應用場景:可以用於一個大型線上遊戲的積分排行榜,每當玩家的分數發生變化時,可以執行zadd更新玩家分數(score),此後在透過zrange獲取幾分top ten的用戶資訊。

更多Redis相關技術文章,請造訪

Redis資料庫使用入門教學欄位學習!

以上是redis資料型別區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn