我正在用 PHP 开发一个电子商务系统。我总是想向客户显示更新的数据,但内存缓存是必要的。我在计算是否有没有过期的缓存,并在数据更新时删除缓存。或者这是不好的做法?
问问题
137 次
1 回答
0
我在一个流量相当大的拍卖网站上工作,我们必须做很多缓存来保持网站正常运行。
我们使用了两种缓存失效:
积极的
对于任何变化很快的东西,我们都会使用主动失效。对我们来说,它是出价/在任何特定时刻一件物品的成本。我们会无限期地缓存这些信息,当有人出价时,我们会主动清除缓存。
不过,我们将主动清除保持在绝对最低限度。
此外,您还想确保您是否主动清除缓存对象……确保它只存在于一个地方。尝试在缓存中搜索所有实例并随处更改它们太痛苦了。
被动的
这是您给对象一个生存时间 (TTL) 并让它自己优雅地过期的地方。将它用于可以承受有点陈旧的东西。
我们对 95% 的数据采用了这种方法,并且效果很好。
与主动失效不同,它也很容易编程。
对于主动和被动缓存失效......我不会说任何一个都是不好的做法。
于 2013-04-02T22:47:54.260 回答