php - Laravel redis/memcached 缓存标签逻辑

标签 php caching redis tags laravel-5.5

找到以下包,它会自动点击我,使用标签。

https://github.com/swayok/alternative-laravel-cache

尽管在标签系统的其他地方,这是默认行为,
在 Laravel 中,默认情况下是不同的(使用 Memcached/Redis 时)。

例如:

Cache::tags(['tag1', 'tag2'])->get('tag-test1');
Cache::tags(['tag2', 'tag3'])->get('tag-test1');
Cache::tags(['tag2', 'tag4'])->get('tag-test1');

Cache::tags(['tag2'])->flush();

期望清除所有缓存,因为它包含相同的标记,
但是在 Laravel 中它根本不会命中缓存,相反,您需要再写 3 行来使这些相同的缓存无效。

这是为什么?
我的意思是,Laravel (Taylor) 选择这条路是有原因的,可能是性能和东西,但我不确定。

我想得到一个简单/准确的解释。谢谢你。

最佳答案

https://github.com/swayok/alternative-laravel-cache
确实是我的预期行为。例如,当构建一个包含三个产品一个类别的页面时,它将被标记为这三个产品和类别。如果任何产品发生更改,则需要刷新缓存。在 Laravel 中,我需要知道所有三个产品和类别才能刷新,这是不可能的。不明白为什么 Laravel 采取这种方法。

关于php - Laravel redis/memcached 缓存标签逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49448770/

相关文章:

php - Laravel 使用查询字符串构建外部 URL 的最佳方法是什么?

c++ - Herb Sutter 的 10 衬里清洁

python - celery 、Redis 和连接池

spring-boot - 如何使 Redis 存储库具有事务性

php - 刚刚完成了图像上传 php mysql

java - 如何将Recyclerview从最后一个ID到第一个ID排序?

internet-explorer - 使用后退按钮: IE and Safari not reading from cache whereas Firefox and Chrome do

algorithm - Quicksort 的缓存遗忘程度如何?

session - Redis Sentinel,独立或集群,哪个最适合 session ?

php - 如何在 PHP 中集成谷歌地图并用标志标记地点