搜尋

首頁  >  問答  >  主體

如何實現 Redis 多層級快取的更新?

分布式開發中,使用 Redis 做二級緩存,本地靜態對象做一級緩存,如何實現二級緩存被更新時通知一級緩存?

怪我咯怪我咯2782 天前944

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-22 08:58:32

    實際開發中我還沒用過分散式的,跟你討論一下。
    我的想法是:

    1. 使用redis Pub/Sub 的方式訂閱二級快取的更新,當一個機子更新了快取那麼 Pub 一个Key,通知所有的客户端,客户端前往更新,刷新一级缓存。key的值可以按 机器号:数据key,这样搞,通过机器号判断让更新者不要更新,其它机器更新,数据key更新指定資料。
    2. 考慮一級快取是否真的是需要的,不使用一級快取是不是帶來了什麼問題 ? 如果是可以忽略的效能問題,我傾向於直接用redis做一級緩存,省時省力減低複雜度 :)

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-22 08:58:32

    後台定時任務同步redis快取到記憶體快取

    回覆
    0
  • 取消回覆