在服务器上缓存动态JSON文件


Caching a dynamic JSON file on the server

我使用PHP创建一个JSON文件,然后将其作为AJAX请求的一部分进行查询。目前,这需要几秒钟的时间,这太长了,特别是考虑到这是一个封闭的开发,所以现在没有同步的请求。

我注意到延迟与我尝试直接在地址栏加载JSON时的延迟相似。数据不需要经常更新,即使每12小时更新一次也可以。

我的问题是:是否有可能在服务器端缓存这些数据以加快AJAX请求?如果有,我该怎么做呢?

很乐意贴出相关的代码,但是我觉得这个问题太抽象了。

我将如何实现这样一个缓存系统:

  1. 在JSON请求上,我会使用file_exists()函数来查看是否我的缓存。Json文件存在,如果不存在,创建一个。(很好的练习,但只适用于第一次运行)。继续生成JSON并在输出到HTTP流之前将结果写入文件。
  2. 如果文件存在,使用PHP的filemtime()函数来确定文件的年龄,如果它超过6小时(或任何你选择的),重新打开文件进行写入并重新生成JSON数据用于存储,然后将其输出到HTTP流。
  3. 如果文件存在,但最后一次修改是在过去6小时内,只需输出文件内容,这次不要生成任何JSON。

我希望这能帮助你走上正确的道路!这可能就是我如何处理它,而不使用MySQL或类似的东西。

好运。