redis 切換大量的快取資料
阿新 • • 發佈:2020-12-17
一個key對應著包含大量的資訊的json串
對與這個高併發,而且要定時更新這個key中對應的資料該如何處理呢?
預備:在redis設定一個set ctrlKey 'newshops_timeStamp' 用來控制應用時的 key (redis 存一個欄位代表 adKey,通過切換key取值,來取資料)
例如:一個商品資訊展示頁碼要定時更新商品資料
1.定時任務一個:處理將新的商品資料放到redis中set newshops_timeStamp"{·······}"
2.當定時任務跑完(將新的資料完全載入到redis中後)
3.插入新的key(newshops) 放到預備中的value(即 set ctrlKey newshops_timeStamp)
4.之後程式碼中 就是根據key為 newshops_timeStamp去redis中獲取商品資訊
5.將舊的資料刪除
以上解決方法存在的問題:比如機器負載過高導致資料刪除過度消耗
解決方案:快取商品資訊的時候設定生存時間
EXPlRE <key> <ttl> 命令用於將鍵key 的生存時間設定為ttl 秒