php - topbar 菜单的性能 - mysql 或 json

标签 php mysql ajax json performance

我有一个带有顶栏菜单的 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/

相关文章:

php - 在某个html页面隐藏div

PHP:联系表单错误 undefined index 和变量

php - 复制 Facebook 的 "Older Posts/Comments"东西

javascript - XMLHttp POST 请求的巨大内存泄漏

javascript - 为什么我的 Rails AJAX 请求会引发内部服务器错误?

php - PHP 的 MVC 方法中的 Hello World 示例

PHP - 无法将图像名称添加到数据库表

mysql - 我应该如何维护 MySQL 字段中的用户列表?

php - SQL 查询可在测试服务器上运行,但不能实时运行……有什么区别?

MySQL让玩家在日期之间排名