我正在用PHP开发一个电子商务系统。我总是希望向客户显示更新的数据,但是需要内存缓存。 我正在计算是否有共同的非过期缓存,并在更新数据时删除缓存。或者那是不好的做法?
答案 0 :(得分:0)
我在一个相当高的交易拍卖网站上工作,我们不得不做很多缓存来保持网站。
我们使用了两种缓存失效:
有效强>
对于任何变化很快的事情,我们会使用主动失效。对我们来说,这是出价/在任何特定时刻的物品成本。我们会无限期地缓存这些信息,当有人竞标时,我们会主动清除缓存。
尽管我们将主动清洗保持在绝对最低限度。
此外,您还要确保是否主动清除缓存对象...确保它只存在于一个位置。尝试为所有实例搜索缓存并在任何地方更改它们都太痛苦了。
<强>被动强>
这是您为对象提供生存时间(TTL)并让它自己正常过期的地方。将它用于可能有点陈旧的东西。
我们对95%的数据采用了这种方法,效果很好。
与主动失效不同,编程也很容易。
对于主动和被动缓存失效......我不会说这两种情况都不好。