五種數據結構本文原創文章,轉載注明出處,博客地址 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 |
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17628.html
摘要:前言等簡單高效的解決了高并發場景下的一系列問題,并很大程度的解放了持久化的業務壓力。 前言 redis等nosql簡單高效的解決了高并發場景下的一系列問題,并很大程度的解放了持久化DB的業務壓力。 實現 基于redis字符串string類型的簡單緩存實現 基于redis列表list類型的簡單隊列實現 基于redis字符串setnx的悲觀鎖實現 基于redis事務的樂觀鎖實現 基于re...
閱讀 3601·2021-11-23 09:51
閱讀 1473·2021-11-04 16:08
閱讀 3547·2021-09-02 09:54
閱讀 3616·2019-08-30 15:55
閱讀 2595·2019-08-30 15:54
閱讀 958·2019-08-29 16:30
閱讀 2047·2019-08-29 16:15
閱讀 2317·2019-08-29 14:05