laravel框架自带缓存学习,和一些缓存的区别理解
2016-01-13 11:32
573 查看
Appcache的缓存属于redis缓存,相当于自己封装了cache, 如果有请求走到appcache的方法里,先判断这个key有没有cache,没有再去查询数据库,有的话,不再去查询数据库,所以说数据数据库的缓存
->header('X-Force-Cache', '300s'); 页面缓存,使用varnish缓存,指的是:请求发出的时候,发现有上一个用户访问varnish缓存下来的结果,于是便不再重新载入框架等,那些控制器呀什么的都不会执行啦。
Nginx 图片资源等的缓存,前端页面里替换一张图片为什么要添加版本号,这部分的缓存属于nginx的缓存,nginx对图片资源请求会做个判断,如果名称和缓存的相同,那么便不再请求服务器,减少压力。前端页面替换图片的时候添加版本号代表着改变请求的资源的名称,可以绕过nginx图片的缓存
如果一个请求中包含了以上三种:那么执行顺序
1 ->header('X-Force-Cache', '300s');
2 Appcache redis
3 nginx资源缓存
截图如下:
http 响应首部字段中有一个age字段可以用来观察 ->header('X-Force-Cache', '300s'); 这种方式设置的varnish缓存,age字段表示 推算资源创建经过时间
如上图,age会在变成300之后清0 重新开始计数,表示从varnish服务器重新请求。
Via 表示请求转发经过的主机的标记 300是因为在代码里这么写:
->header('X-Force-Cache', '300s'); 页面缓存,使用varnish缓存,指的是:请求发出的时候,发现有上一个用户访问varnish缓存下来的结果,于是便不再重新载入框架等,那些控制器呀什么的都不会执行啦。
Nginx 图片资源等的缓存,前端页面里替换一张图片为什么要添加版本号,这部分的缓存属于nginx的缓存,nginx对图片资源请求会做个判断,如果名称和缓存的相同,那么便不再请求服务器,减少压力。前端页面替换图片的时候添加版本号代表着改变请求的资源的名称,可以绕过nginx图片的缓存
如果一个请求中包含了以上三种:那么执行顺序
1 ->header('X-Force-Cache', '300s');
2 Appcache redis
3 nginx资源缓存
截图如下:
http 响应首部字段中有一个age字段可以用来观察 ->header('X-Force-Cache', '300s'); 这种方式设置的varnish缓存,age字段表示 推算资源创建经过时间
如上图,age会在变成300之后清0 重新开始计数,表示从varnish服务器重新请求。
Via 表示请求转发经过的主机的标记 300是因为在代码里这么写:
return Response::view($view_path, array( 'skus' => $skus, 'no_fenqi_rules' => $no_fenqi_rules, 'mian_xi' => $mian_xi, 'fenqi_rules' => $fenqi_rules, 'type' => $type, 'other_price_id' => $other_price_id, 'group_id' => $group_id, 'url' => $url, ))->header('X-Force-Cache', '300s');
相关文章推荐
- Configuration problem: Only one AsyncAnnotationBeanPostProcessor may exist within the context.
- QPixmap setpixmap 不显示图片
- Yii2下路由设定
- Content Provider(二)之 FileProvider 实现应用文件共享
- PHP abstract与interface之间的区别
- php扔骰子举例
- PHP字符串解释成时间,加一天,加一个月等
- PHP带重试功能的curl
- 解决zend studio 个别项目不提示php函数出现黄色波浪线问题
- Yii2中request的使用
- PHP防止重复提交表单
- yii2开发后记
- PHP安全把握整站的结构,避免泄露站点敏感目录
- 非常有用的php代码片段
- 错误:无法与 SFTP 服务器建立 FTP 连接
- 浏览器禁用cookie后php如何保持session会话-use_trans_sid机制
- TP框架自带的正则验证的规则(转载)
- php生成圆形图片
- Firefox+PHPStorm 8+XDebug单步调试
- php验证手机号码