我有一个带有顶部栏菜单的 php、jquery、foundation 电子商务网站,当文档准备好时,我会调用 ajax 来获取菜单中每个类别的顶部图像和描述。
顶部图像不会每天发生变化,因此我可以将结果存储在 json 文件中,这样我就不会在每个页面上都进行 mysql 连接。
(但是当电子商务管理员进行更新以更新 json 文件时,我必须做一个页面)
我的问题:值得吗?是否有其他选择,例如将传入的 ajax 调用存储在缓存中?
谢谢
我有一个带有顶部栏菜单的 php、jquery、foundation 电子商务网站,当文档准备好时,我会调用 ajax 来获取菜单中每个类别的顶部图像和描述。
顶部图像不会每天发生变化,因此我可以将结果存储在 json 文件中,这样我就不会在每个页面上都进行 mysql 连接。
(但是当电子商务管理员进行更新以更新 json 文件时,我必须做一个页面)
我的问题:值得吗?是否有其他选择,例如将传入的 ajax 调用存储在缓存中?
谢谢
您可以创建一个数据库表并保存 JSON 响应服务器端的缓存版本,在每次更新后更新它(手动或使用某些版本控制方法)
例子:
php(伪代码):
if (is_JSON_changed()) //some mechanism to check if the cache is not valid
{
$query = Get infos from DB;
$array = convert $query to array;
$string = json_encode($array);
file_put_contents("/tmp/cache.json", $string);
echo $string;
} else {
file_get_contents("/tmp/cache.json");
}
此外,您还可以使用 http 缓存标头: How to use HTTP cache headers with PHP