laravel-permission 缓存导致的Redis带宽占用问题

2023-06-0308:07:30后端程序开发Comments826 views字数 473阅读模式

先决条件

spatie/laravel-permission: 3.18.0
权限数: 634
角色数: 94文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44188.html

问题

laravel-permission 的缓存机制设计的不太合理
将所有的权限存放在一个大set中,且存放了许多不必要的信息。
当项目拥有大量的角色权限,使得这个set达到了11mb,非常影响性能。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44188.html

laravel-permission 缓存导致的Redis带宽占用问题

解决方案

spatie/laravel-permission: 4.3.0 及以上版本,这个问题得到了解决。
然而我们不会贸然去选择升级依赖包的大版本,有风险,所以选择fork了一份到gitlab中,自行维护v3版本。
并将对应的优化措施集成到 3.18.0 上,发布 3.19.0文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44188.html

优化后能够将大小缩减为原来的5%文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44188.html

laravel-permission 缓存导致的Redis带宽占用问题

出口流量速率由原来的140mb/s降到了6mb/s文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44188.html

laravel-permission 缓存导致的Redis带宽占用问题AI配图魔改

集成

{
    "repositories": [
        {
            "type": "gitlab",
            "url": "https://git.papamk.com/packagist/laravel-permission"
        }
    ],
    "require": {
        "spatie/laravel-permission": "3.19.0"
    }
}
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44188.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/44188.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定