0

我正在用 PHP 开发一个电子商务系统。我总是想向客户显示更新的数据,但内存缓存是必要的。我在计算是否有没有过期的缓存,并在数据更新时删除缓存。或者这是不好的做法?

4

1 回答 1

0

我在一个流量相当大的拍卖网站上工作,我们必须做很多缓存来保持网站正常运行。

我们使用了两种缓存失效:

积极的

对于任何变化很快的东西,我们都会使用主动失效。对我们来说,它是出价/在任何特定时刻一件物品的成本。我们会无限期地缓存这些信息,当有人出价时,我们会主动清除缓存。

不过,我们将主动清除保持在绝对最低限度。

此外,您还想确保您是否主动清除缓存对象……确保它只存在于一个地方。尝试在缓存中搜索所有实例并随处更改它们太痛苦了。

被动的

这是您给对象一个生存时间 (TTL) 并让它自己优雅地过期的地方。将它用于可以承受有点陈旧的东西。

我们对 95% 的数据采用了这种方法,并且效果很好。

与主动失效不同,它也很容易编程。


对于主动和被动缓存失效......我不会说任何一个都是不好的做法。

于 2013-04-02T22:47:54.260 回答