如果缓存存储设置为数组,Laravel 5.4 中的节流阀将不起作用

Throttle in Laravel 5.4 not working if cache storage is set to array

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

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

谢谢

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

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

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

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

因此,如果您使用 memcachedredis,您将在这两方面都做得很好。

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

来自:

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

至:

"zizaco/entrust": "dev-master"

然后解决了

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

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