我有一个带有顶栏菜单的 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 缓存 header : How to use HTTP cache headers with PHP
关于php - topbar 菜单的性能 - mysql 或 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19863742/