php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > thinkphp框架 >

thinkphp5请求缓存

时间:2019-03-21 20:23来源:未知 作者:admin 点击:
请求缓存 支持请求缓存功能,支持对GET请求设置缓存访问,并设置有效期。 请求缓存仅对GET请求有效 有两种方式可以设置请求缓存: 路由设置 可以在路由规则里面调用cache方法设置当
请求缓存
支持请求缓存功能,支持对GET请求设置缓存访问,并设置有效期。
 
请求缓存仅对GET请求有效
 
有两种方式可以设置请求缓存:
 
路由设置
可以在路由规则里面调用cache方法设置当前路由规则的请求缓存,例如:
 
// 定义GET请求路由规则 并设置3600秒的缓存
Route::get('new/:id','News/read')->cache(3600);
第二次访问相同的路由地址的时候,会自动获取请求缓存的数据响应输出,并发送304状态码。
 
默认请求缓存的标识为当前访问的pathinfo地址,可以定义请求缓存的标识,如下:
 
// 定义GET请求路由规则 并设置3600秒的缓存
Route::get('new/:id','News/read')->cache(
'new/:id/:page', 3600
]
);
:id、:page表示使用当前请求的param参数进行动态标识替换,也就是根据id和page变量进行3600秒的请求缓存。
 
如果cache参数传入false,则表示关闭当前路由的请求缓存(即使开启全局请求缓存)。
 
支持给一组路由设置缓存标签
 
// 定义GET请求路由规则 并设置3600秒的缓存
Route::get('new/:id','News/read')->cache(
'new/:id/:page', 3600, 'page'
]
);
这样可以在需要的时候统一清理缓存标签为page的请求缓存。
 
动态设置
可以在公共文件或者行为中动态设置请求缓存,例如:
 
Request::cache('blog/:id',3600);
表示对blog/:id定义的动态访问地址进行3600秒的请求缓存。
 
变量支持当前的请求变量(也就是param方法的所有变量)。
 
可以使用当前的URL地址作为缓存标识,如下:
 
Request::cache('__URL__',600);
支持对某个URL后缀的请求进行缓存,例如:
 
Request::cache('[html]',600);
表示对所有的html后缀访问(GET)请求进行10分钟的缓存。
 
也支持设置请求缓存标签,例如:
 
Request::cache('blog/:id/:page',3600, 'page');
自动缓存
可以通过开启自动缓存和全局缓存有效期设置请求缓存,支持在模块配置中单独设置开启请求缓存。
 
只需要在配置文件中开启:
 
'request_cache' => true,
'request_cache_expire' => 3600,
就会自动根据当前请求URL地址(只针对GET请求类型)进行请求缓存,全局缓存有效期为3600秒。
 
如果需要对全局缓存设置缓存规则,可以直接设置request_cache参数为字符串,例如下面的方式:
 
'request_cache' => '__URL__',
'request_cache_expire' => 3600,
缓存标识支持下面的特殊定义
 
标识 含义
__MODULE__ 当前模块名
__CONTROLLER__ 当前控制器名
__ACTION__ 当前操作名
__URL__ 当前完整URL地址(包含域名)
全局请求缓存支持设置排除规则,使用方法如下:
 
    'request_cache'        => true,
    'request_cache_expire' => 3600,
    'request_cache_except' => [
        '/blog/index',
        '/user/member',
    ],
排除规则为不使用请求缓存的地址(不支持变量)开头部分(不区分大小写)。
 
路由中设置的请求缓存依然有效并且优先,如果需要设置特殊的请求缓存有效期就可以直接在路由中设置。
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
  • ThinkPHP5.2版本正式变更为6.0版本
  • 主要考虑到新的架构调整变化较大以及不支持无缝升级这两大原因,官方正式宣

  • thinkphp5响应输出
  • 大多数情况,我们不需要关注Response对象本身,只需要在控制器的操作方法中返

  • thinkphp5参数绑定
  • 参数绑定是把当前请求的变量作为操作方法(也包括架构方法)的参数直接传入

  • thinkphp5:HTTP头信息
  • 可以使用Request对象的header方法获取当前请求的HTTP请求头信息,例如: $info =

  • thinkphp5请求类型
  • 获取请求类型 在很多情况下面,我们需要判断当前操作的请求类型是GET、POST、

  • thinkphp5输入变量
  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GE

  • thinkphp5请求对象
  • 当前的请求对象由think\Request类负责,在很多场合下并不需要实例化调用,通常

  • thinkphp5请求信息
  • Request对象支持获取当前的请求信息,包括: 方法 含义 host 当前访问域名或者

  • Thinkphp5学习笔记
  • thinkphp5是一个全新的版本它不再兼容以前的版本,改动比较大。个人认为它很像

  • thinkphp5伪静态
  • URL伪静态通常是为了满足更好的SEO效果,ThinkPHP支持伪静态URL设置,可以通过设

猜你喜欢