您的位置:首页 > 编程语言 > PHP开发

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是因为在代码里这么写:

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');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: