TP的缓存缺陷(或者说是BUG),官方可以解答一下吗?

浏览:633 发布日期:2020/05/26 分类:ThinkPHP5专区 关键字: 请求缓存 代码适配 自适应网站
版本:TP5.1

控制器代码:
这段代码实现通过判断用户UA来适配不同的模板public function index(){
        //....获取数据、其他操作等
        //通过UA判断用户设备类型,渲染输出不同的模板
        if ($this->request->isMobile()) {
            return $this->fetch('手机端模板');
        } else {
            return $this->fetch('PC端模板');
        }
}
配置文件config/app.php开启请求缓存 :    // 是否开启请求缓存 true自动缓存 支持设置请求缓存规则
    'request_cache'          => true,
    // 请求缓存有效期
    'request_cache_expire'   => null,
    // 全局请求缓存排除规则
    'request_cache_except'   => [],
那么问题来了,用户A使用电脑访问一个首次被访问的URL,那么会生成一个缓存文件,而后用户B使用手机端访问这个URL,直接会读取缓存文件返回给用户B,不会进行UA的判断。但是用户B需要的是返回移动端渲染的模板给他。

这种情况,应该算是bug或者是功能缺陷?有没有解决方案呢?
最佳答案
评论( 相关
后面还有条评论,点击查看>>