【问题标题】:Throttle in Laravel 5.4 not working if cache storage is set to array如果缓存存储设置为数组,Laravel 5.4 中的节流阀不起作用
【发布时间】:2018-04-14 12:39:46
【问题描述】:

我在我的项目中使用 Zizaco/Entrust,它需要将 CACHE_DRIVER 设置为数组以支持标记但是我在 Laravel 中遇到限制问题,因为限制需要与文件缓存驱动程序一起使用。

如何切换到 ThrottleRequests.php 中间件文件中的文件 CACHE_DRIVER 并覆盖它?

谢谢

错误是:This cache store does not support tagging.

【问题讨论】:

    标签: php laravel caching throttling


    【解决方案1】:

    如果您使用array 缓存驱动程序,那么您的缓存将不会是持久的。此驱动程序实际上仅适用于您的测试套件。

    缓存标记的唯一限制是您不能使用filedatabase 驱动程序。这意味着您应该使用另一个驱动程序,例如 memcachedredis 驱动程序。

    限制不需要file 驱动程序,它只需要任何持久的驱动程序(array 以外的任何驱动程序)。

    所以,如果你使用memcachedredis,你会在两个方面都做得很好。

    【讨论】:

    • 感谢您的回复,我会请服务器人员在我们的 vps 上安装 memcached。
    【解决方案2】:

    我找到了另一个解决方案来解决这个问题,改变Zizaco/entrust版本而不是使用RedisMemcached

    来自:

    "zizaco/entrust": "5.2.x-dev"

    到:

    "zizaco/entrust": "dev-master"
    

    然后解决了。

    它与文件缓存驱动程序一起正常工作。

    "dev-master" have Merged pjmartorell:fix-cache-tags.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-05
      • 2017-05-13
      • 2018-03-30
      • 2018-03-01
      • 1970-01-01
      • 2011-09-04
      • 2019-10-03
      • 2017-11-19
      相关资源
      最近更新 更多