緩存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, 自動排序。

Demo:

待實現.......
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章