1. 程式人生 > >轉 redis使用場景 簡介

轉 redis使用場景 簡介

-s edi select time 關註 寫入 部分 更新 header

Redis實戰(五) 聊聊Redis使用場景

發表於 | 數據存儲 | Redis

文章目錄

  1. 1. 使用場景說明
    1. 1.1. 計數器
    2. 1.2. 排行榜
    3. 1.3. 用於存儲時間戳
    4. 1.4. 記錄用戶判定信息
    5. 1.5. 社交列表
    6. 1.6. 緩存
    7. 1.7. 隊列
    8. 1.8. 會話緩存
  2. 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使用場景 簡介