Redis作為一款效能優異的記憶體資料庫,在網路公司有多種應用場景,本文介紹筆者在專案中使用Redis的場景。
主要從以下幾個面向介紹:
分散式鎖定 (建議學習:Redis視頻教學)
介面限流器
訂單快取
Redis和DB資料一致性處理
防止快取穿透和雪崩
分散式session共享
訂單快取
整個訂單的儲存結構如下:
使用Redis的zset資料結構儲存每個使用者的訂單,按照下單時間倒序排列,使用者唯一標識作為key,使用者的訂單集合作為value,使用訂單建立時間的時間戳訂單號碼後三位作為分數
為什麼不直接用下單時間的時間戳記作為分數?因為下單時間只精確到秒,同一秒可能會出現多個訂單情況,這樣就會出現相同的分數,而加上訂單號碼後三位就能基本上避免這種情景。
只放用戶的前N條訂單即可,因為很少用戶會查看很久以前的訂單,這樣做會節省很多空間。如果有使用者需要查看前N條之後的訂單,再從資料庫查詢即可,當然這種機率就比較小了。
以上是redis在專案中怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!