Laravel flush标签不总是flush


Laravel flush tag not always flushing

我在Laravel 4.2中使用redis。偶尔我会这样做:

Cache::tags('products', 'list-products')->flush()

它刷新大多数项目,但可能会有1或2个项目保留。当我检查时,它们没有被重新插入(有时我会删除它们缓存的MySQL对象),所以我必须手动进入redis服务器并删除那些密钥(恰好与给定的标签匹配)。

有办法绕过它吗?以前有人经历过这种情况吗?

这是6年前的事了,但由于类似的问题,我一直在四处寻找,所以我想分享我的发现。事实证明,Laravel标签的功能存在核心缺陷。有些项目可能只是因为有一个标签而被留下,要么是产品,要么是列表产品。正因为如此,你需要放置与你标记物品完全相同的标签。此外,如果你切换标签的顺序(尝试过),它根本不会起作用。唯一的方法是使用替代包进行缓存管理,避免laravel。https://github.com/swayok/alternative-laravel-cache这是其中一个(可能,我只找到了这个),但Laravel 9还不受支持:|