php - php中的缓存策略

标签 php mysql

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

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

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

最佳答案

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

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

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

关于php - php中的缓存策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4918892/

相关文章:

php - mysql_real_escape_string 被忽略

php - 使用 PHP 中的链接\按钮将 Mysql 数据导出到 MS Excel

javascript - AJAX 不发送变量写入 txt

LIMIT 中的 PHP PDO 绑定(bind)值

php - 当客户更改地址 WooCommerce 时发送通知电子邮件

php - 安装 zend 框架应用程序

mysql - Mysql查找跨行的日期范围

php - Getting L_ERRORCODE0=10001&超时处理请求

php - 表单提交时的MySQL错误

java - 从 Java 中的字符串中过滤非 MySQL Latin1 字符