我已经查看了有关 PHP 中缓存的类似问题,但我仍然对如何检查数据库是否已更改而不对数据库进行新调用感到困惑,这会破坏缓存的意义。
我从技术上了解如何在 PHP 中实现缓存——使用 ETag 和 Last Modified 标头、输出缓冲、存储静态文件等。让我感到困惑的是如何确定何时提供新版本的页面而不是缓存版本。如果数据库内容发生了变化,我想显示新版本而不是缓存版本。
例如,假设我有一个显示产品详细信息的页面。一般来说,产品信息一旦存入数据库,就不会发生太大变化。但有时可能会对产品描述进行编辑或价格更改。如果产品有新价格,我不想通过使用页面的缓存版本向用户显示旧价格。出于这个原因,每小时更新缓存的内容似乎还不够。更不用说对于没有变化的内容来说太频繁了,真正的问题是当有变化时它不会足够快地更新内容。
那么,每次通过应用程序管理区域中的表单更新产品数据库时,我是否应该存储一些内容(例如,ETag 值或静态 html 文件)?我在这里想念什么?
[注意:对在这里使用缓存库不感兴趣。我现在想学习如何直接使用 PHP。]