轉 redis使用場景 簡介
阿新 • • 發佈:2017-06-14
-s edi select time 關註 寫入 部分 更新 header
Redis實戰(五) 聊聊Redis使用場景
發表於 | 數據存儲 | Redis
文章目錄
- 1. 使用場景說明
- 1.1. 計數器
- 1.2. 排行榜
- 1.3. 用於存儲時間戳
- 1.4. 記錄用戶判定信息
- 1.5. 社交列表
- 1.6. 緩存
- 1.7. 隊列
- 1.8. 會話緩存
- 2. 業務使用方式
隨著數據量的增長,MySQL已經滿足不了大型互聯網類應用的需求,因此,Redis作為內存數據庫,很好的作為其架構上的補充。在某些場景下,可以充分的利用Redis的特性,大大提高效率。
使用場景說明
計數器
數據統計的需求非常普遍,通過原子遞增保持計數。例如,點贊數、收藏數、分享數等。
排行榜
排行榜按照得分進行排序,例如,展示最近、最熱、點擊率最高、活躍度最高等等條件的top list。
用於存儲時間戳
類似排行榜,使用redis的zset用於存儲時間戳,時間會不斷變化。例如,按照用戶關註用戶的最新動態列表。
記錄用戶判定信息
記錄用戶判定信息的需求也非常普遍,可以知道一個用戶是否進行了某個操作。例如,用戶是否點贊、用戶是否收藏、用戶是否分享等。
社交列表
社交屬性相關的列表信息,例如,用戶點贊列表、用戶收藏列表、用戶關註列表等。
緩存
緩存一些熱點數據,例如,PC版本文件更新內容、資訊標簽和分類信息、生日祝福壽星列表。
隊列
Redis能作為一個很好的消息隊列來使用,通過list的lpop及lpush接口進行隊列的寫入和消費,本身性能較好能解決大部分問題。但是,不提倡使用,更加建議使用rabbitmq等服務,作為消息中間件。
會話緩存
使用Redis進行會話緩存。例如,將web session存放在Redis中。
業務使用方式
String(字符串): 應用數, 資訊數等, (避免了select count(*) from …)
Hash(哈希表): 用戶粉絲列表, 用戶點贊列表, 用戶收藏列表, 用戶關註列表等。
List(列表):消息隊列, push/sub提醒。
SortedSet(有序集合):熱門列表, 最新動態列表, TopN, 自動排序。
轉 redis使用場景 簡介