我使用PHP创建一个JSON文件,然后将其作为AJAX请求的一部分进行查询。目前,这需要几秒钟的时间,这太长了,特别是考虑到这是一个封闭的开发,所以现在没有同步的请求。
我注意到延迟与我尝试直接在地址栏加载JSON时的延迟相似。数据不需要经常更新,即使每12小时更新一次也可以。
我的问题是:是否有可能在服务器端缓存这些数据以加快AJAX请求?如果有,我该怎么做呢?
很乐意贴出相关的代码,但是我觉得这个问题太抽象了。
我将如何实现这样一个缓存系统:
- 在JSON请求上,我会使用file_exists()函数来查看是否我的缓存。Json文件存在,如果不存在,创建一个。(很好的练习,但只适用于第一次运行)。继续生成JSON并在输出到HTTP流之前将结果写入文件。
- 如果文件存在,使用PHP的filemtime()函数来确定文件的年龄,如果它超过6小时(或任何你选择的),重新打开文件进行写入并重新生成JSON数据用于存储,然后将其输出到HTTP流。
- 如果文件存在,但最后一次修改是在过去6小时内,只需输出文件内容,这次不要生成任何JSON。
我希望这能帮助你走上正确的道路!这可能就是我如何处理它,而不使用MySQL或类似的东西。
好运。