我们使用php(Yii Framework)开发的Web应用程序使用Nginx服务器和PageSpeed进行缓存。由于这种缓存,有时某些内容和图像未加载。
后端提供了一个清除服务器缓存的按钮,因此当出现一些问题时我们必须手动清除缓存。清除缓存后一切正常。
是否有一种自动清除缓存的方法?
有时我们没有获得更新的数据,并且在清除缓存后,数据是可见的。在这种情况下,我可以假定某些数据库查询已被缓存吗?
如果我禁用此pageSpeed缓存怎么办?它会极大地影响Web应用程序的性能吗?
确实陷入其中。请帮助。
这是当我们通过单击“缓存清除”按钮清除缓存时调用的缓存清除代码。
$output = shell_exec("touch /var/ngx_pagespeed_cache/cache.flush");
$a = shell_exec("echo $?");
答案 0 :(得分:0)
要运行计划的shell命令,请使用Linux`s crontab命令。
$ crontab -e
比编辑文件来运行您的命令像这样:
1 2 3 4 5 /path/to/command arg1 arg2
位置:
/path/to/command
–要计划的脚本或命令名称
但是,不应以这种方式解决此问题。您的问题是您没有正确地对文件进行版本控制。不应以这种方式刷新PageSpeed模块。您需要了解缓存机制的工作原理,并在部署过程中使用Yii CLI为assets生成新路径