在PHP中缓存策略

时间:2011-02-07 07:19:52

标签: php mysql

我从数据库中检索数据,包括图像和其他字段,然后使用php脚本以json格式对其进行编码。现在数据是 从电话请求我想要做的是使用缓存策略或其他东西,如果在mysql中有什么东西,可以检查 自上次请求以来是否在数据库中编辑数据,以便当请求到达页面时,它将首先检查然后 相应地回应。这可以节省时间,加快请求速度并减少服务器上的流量。

我已经阅读了一些关于缓存策略的注释here

如果有人帮我提供示例或代码,我将非常感激

1 个答案:

答案 0 :(得分:2)

MySQL无法告诉您上次修改记录的时间,但是自己做的很简单:只需在表格中添加timestamp列,每次修改时都会在其中插入当前日期和时间记录。 MySQL可以通过设置初始化和更新行为自动执行此操作(请参阅MySQL reference):

CREATE TABLE t (
lastmodified TIMESTAMP DEFAULT CURRENT_TIMESTAMP
                       ON UPDATE CURRENT_TIMESTAMP);

然后,您需要做的就是查询该列以及其他数据,并根据客户端发送的If-Modified-Since标头进行检查。如果结果中的日期和时间比客户端提供的日期和时间更新,则可以像往常一样返回数据。否则,只需发送没有内容的304 Not Modified标头,让客户端知道自上次请求以来没有任何更改。