數據類型Redis使用場景
- String
- 計數器應用
- List
- 取最新N個數據的操作
- 消息隊列
- 刪除與過濾
- 實時分析正在發生的情況,用于數據統計與防止垃圾郵件(結合Set)
- Set
- Uniqe操作,獲取某段時間所有數據排重值
- 實時系統,反垃圾系統
- 共同好友、二度好友
- 利用唯一性,可以統計訪問網站的所有獨立 IP
- 好友推薦的時候,根據 tag 求交集,大于某個 threshold 就可以推薦
- Hashes
- 存儲、讀取、修改用戶屬性
- Sorted Set
- 排行榜應用,取TOP N操作
- 需要精準設定過期時間的應用(時間戳作為Score)
- 帶有權重的元素,比如一個游戲的用戶得分排行榜
- 過期項目處理,按照時間排序
Redis解決秒殺/搶紅包等高并發事務活動
- 秒殺開始前30分鐘把秒殺庫存從數據庫同步到Redis Sorted Set
- 用戶秒殺庫存放入秒殺限制數長度的Sorted Set
- 秒殺到指定秒殺數后,Sorted Set不在接受秒殺請求,并顯示返回標識
- 秒殺活動完全結束后,同步Redis數據到數據庫,秒殺正式結束