美文网首页
Laravel 5.5.48 的巨坑:Cache有效期参数偷偷由

Laravel 5.5.48 的巨坑:Cache有效期参数偷偷由

作者: chaopi | 来源:发表于2020-03-04 23:29 被阅读0次

今晚坐到屁股痛都找不到一个离奇问题的成因:Laravel做的项目,Cache(缓存)怎么忽然失效了?

项目使用缓存来限制用户频繁操作,今晚发现部分用户快乐的“突破”了这个限制,玩的很high。经过检查,设置了1分钟的Cache无效了。回想这两天的变更,用composer update将laravel framework从5.5.46升级到了5.5.48,理论上不会有什么大的变动。

过程中翻查了一下5.5的文档:

https://laravel.com/docs/5.5/cache#storing-items-in-the-cache

无意中看了眼master主线的文档:

https://laravel.com/docs/master/cache#storing-items-in-the-cache

惊讶发现主线版本的cache中,有效期的参数单位改成了秒(second),而用5.5.x一直以来都是用的是分钟单位。

5.5 Cache的使用描述 主线 Cache的使用描述

难道在5.5.x内小版本更新就改用秒了?这么变态没良心事情,我是不会相信作者会做的出来的。于是试着将项目代码的

Cache::set('key', 'value', 1);

改成

Cache::set('key', 'value', 60);

好吧,问题居然真的解决了。

要查真相,必须到github,而5.5的发行日志居然完全没有5.5.48的记载,页面上最新的是5.5.46

https://github.com/laravel/framework/blob/5.5/CHANGELOG-5.5.md

而5.5.48早在半年前的2019年8月20日就发布了,这里到底发生了什么事情?难道作者要不认5.5.48吗?😂

https://github.com/laravel/framework/releases/tag/v5.5.48

在v2ex翻到了v友的PR转帖 https://github.com/laravel/framework/pull/29610 ,5.5.48加入了对PSR-16(通用缓存库规范,见 https://www.php-fig.org/psr/psr-16/ )的支持,而PSR-16对缓存有效期输入参数规定了单位是秒。开发者已经让作者意识到这个变更的可能带来的后果可能很严重,但作者不但没有解决问题,甚至对于这个变更不记录,不说明…

这个坑只能自己改业务代码来填。

相关文章

  • Laravel 5.5.48 的巨坑:Cache有效期参数偷偷由

    今晚坐到屁股痛都找不到一个离奇问题的成因:Laravel做的项目,Cache(缓存)怎么忽然失效了? 项目使用缓存...

  • mybatis 缓存失效和坑

    mybatis 缓存失效和坑 mybatis 缓存类型 local cache,也就是所谓的局部缓存。由以下参数控...

  • Laravel4.2的巨坑

    今天突然正式服就报错了,测试服好好的,代码也是一样的,各种排查,最终是环境问题 4.2是个天坑,新加类不跑comp...

  • laravel 在update更新时 Validator验证如何

    [laravel Validator验证坑一]: [laravel Validator验证坑二]:

  • 查询缓存

    安装 composer require rennokki/laravel-eloquent-query-cache...

  • 2019-02-21

    Laravel 获取路由参数的方式有很多,并且有个小坑,汇总如下。 假设我们设置了一个路由参数: 现在我们访问 h...

  • 浏览器端的存储技术

    cookie 有效期:根据时间消失。如果想要延长cookie的有效期,可以通过设置HTTP头信息中的cache-c...

  • laravel Please provide a valid c

    这是因为laravel的缓存路径没有找到 laravel缓存文件路径是在 config/cache.php中设置,...

  • laravel开发

    laravel常用操作 注意事项 laravel的路由直接闭包返回会导致无法使用route cache 修改配置时...

  • day19课堂笔记

    14.11修改密码有效期chage命令: 用于查看或修改用户密码有效期(有些参数的功能和passwd相同)。参数:...

网友评论

      本文标题:Laravel 5.5.48 的巨坑:Cache有效期参数偷偷由

      本文链接:https://www.haomeiwen.com/subject/sxmwlhtx.html