我很可能会使用 MemCache 来缓存一些数据库结果。因为我从来没有写过缓存,所以我想问问那些已经做过缓存的人是个好主意。我正在编写的系统可能在某个时间点具有并发运行脚本。这就是我打算做的事情:
- 我正在编写一个横幅交换系统。
- 有关横幅的信息存储在数据库中。
- 有不同的网站,具有不同的流量,加载一个 php 脚本,为这些横幅生成代码。(以便横幅显示在客户的网站上)
- 当第一次显示横幅时 - 它会与 memcache 一起缓存。
- 横幅具有缓存寿命,例如 1 小时。
- 每小时更新一次缓存。
我在此任务中看到的潜在问题出现在第 4 步和第 6 步。例如,如果我们有 100 个流量很大的站点,则脚本可能会同时运行多个实例。我怎么能保证当缓存过期时它会重新生成一次并且数据会完好无损?