php Laravel -是否可以按标签从缓存中获取所有密钥?

fnatzsnv  于 2023-01-12  发布在  PHP
关注(0)|答案(1)|浏览(144)

我有这个代码:

\Cache::tags(['test'])->put('a', 1);
\Cache::tags(['test'])->put('b', 2);

现在我想得到所有存储在'test'标签缓存中的键,类似这样:

print_r(\Cache::tags(['test'])->getAllKeys());

具有以下输出:

a
b

你知道吗?

a14dhokn

a14dhokn1#

这是不可能通过Laravel的缓存系统写这篇文章。
Laravel的缓存存储合同可在https://laravel.com/api/5.6/Illuminate/Contracts/Cache/Store.html上找到
对于缓存实现,该高速缓存中检索项的收缩方法只有get()和many(),这两个方法都要求您指定要检索的项的确切键。
某些存储(如memcached)扩展了TaggableStore,但它只有一个方法来标记项。
这并不是说您不能独立该高速缓存方法查询memcached,也不是说您不能使用其他方法编写自己的Store实现。

相关问题