本文原創文章,轉載註明出處,博客地址 https://segmentfault.com/u/to... 第一時間看後續精彩文章。以爲好的話,順手分享到朋友圈吧,感謝支持。數據庫
類型 | 簡介 | 特性 | 場景 |
---|---|---|---|
String(字符串) | 二進制安全 | 能夠包含任何數據,好比jpg圖片或者序列化的對象,一個鍵最大能存儲512M | --- |
Hash(字典) | 鍵值對集合,即編程語言中的Map類型 | 適合存儲對象,而且能夠像數據庫中update一個屬性同樣只修改某一項屬性值(Memcached中須要取出整個字符串反序列化成對象修改完再序列化存回去) | 存儲、讀取、修改用戶屬性 |
List(列表) | 鏈表(雙向鏈表) | 增刪快,提供了操做某一段元素的API | 1,最新消息排行等功能(好比朋友圈的時間線) 2,消息隊列 |
Set(集合) | 哈希表實現,元素不重複 | 1,添加、刪除,查找的複雜度都是O(1) 2,爲集合提供了求交集、並集、差集等操做 | 1,共同好友 2,利用惟一性,統計訪問網站的全部獨立ip 3,好用推薦時,根據tag求交集,大於某個閾值就能夠推薦 |
Sorted Set(有序集合) | 將Set中的元素增長一個權重參數score,元素按score有序排列 | 數據插入集合時,已經進行自然排序 | 1,排行榜 2,帶權重的消息隊列 |
類型 | 特性 | 場景 |
---|---|---|
訂閱-發佈系統 | 發佈與訂閱,能夠對某一個key值進行消息發佈及消息訂閱,當一個key值進行了消息發佈後,全部訂閱它的客戶端都會收到消息 | 用做實時消息系統,好比普通的即時聊天,羣聊等功能 |
事務 | 1,Redis的Transactions提供的並非嚴格的ACID(原子性,一致性,隔離性,持久性)的事務,可是提供了基本的命令打包執行的功能 2,Watch功能,對一個key進行watch,再執行Transactions,在這個過程當中,若是這個Watched的值進行了修改,Transactions會發現並拒絕執行 | --- |
過時 | 設置key的過時時間,過時後該數據自動被清除 | 登陸session或token |