搜尋

首頁  >  問答  >  主體

java 开发中的缓存问题

java 开发 把购物车放在 cookie 中 用户登陆后吧信息保存在缓存中,如果此时 在后台 对商品信息进行修改 影响到了缓存中的数据 此时 如何处理!

PHPzPHPz2900 天前415

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 10:02:21

    對於商品這種時效性比較嚴格的物件來說後台資料更新了,使用到了這些資料的地方也應該需要更新。解決這類問題通常使用觀察者模式,核心在於發布(publish)和訂閱(Subscribe)。具體實作有很多種方案,在應用程式內可以使用Guava的Eventbus,也可以使用redis這類nosql。個人推薦使用redis來完成,同時redis也能作為二級快取。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:02:21

    不管採用如何方式來更新快取中的商品資料,都d是一件很費時間並且會加大系統的複雜度的事情,而且資料還不一定能夠即時更新讀取;所以建議購物車裡面存放skuId和购买的amount ,刷購物車的時候從商品緩存中讀取商品數據;而商品更新以後更新商品緩存,這樣可以減少更新商品信息而帶來的系統複雜度,並且節約了很大一部分內存

    回覆
    0
  • 取消回覆