字符串類型是redis中最為基礎的數據存儲類型,是一個由字節組成的序列,他在Redis中是二進制安全的,這便意味著該類型可以接受任何格式的數據,如JPEG圖像數據貨json對象描述信息等,是標準的key-value,一般來存字符串,整數和浮點數。Value最多可以容納的數據長度為512MB ? (推薦學習:Redis視頻教程)
應用場景:很常見的場景用于統計網站訪問數量,當前在線人數等。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。
zset(sorted set:有序集合)
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復的成員。
不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
zset的成員是唯一的,但分數(score)卻可以重復。
更多Redis相關技術文章,請訪問Redis視頻教程欄目進行學習!