我正在寻找以下缓存行为,与缓存标记非常相似,但有一些扭曲。
让我们假装有一个名为keywords()
的缓存方法。请考虑以下代码:
Cache::keywords(['user', 'general'])->put('key1', $value1, $minutes);
Cache::keywords('general')->put('key2', $value2, $minutes2);
这会将$value1
存储在key1
和$value2
key2
中,并且"标记为"按其相应的关键字。
现在,与缓存标记的区别在于:关键字没有排序或约束任何后续的流畅调用。例如:
// Fetches value of key1, keywords are NOT required.
Cache::get('key1');
// Fetches value of key2, keywords are NOT required.
Cache::get('key2');
// Deletes all records using this keyword, viz. key1.
// key1 is completely out of cache storage, despite its other keyword.
Cache::keywords('user')->flush();
// Deletes all records using this keyword, viz. key1 and key2.
// key1 is completely out of cache storage, despite its other keyword.
Cache::keywords('general')->flush();
这是否可以在Laravel开箱即用?
如果没有,那么如何处理它以使其对所有缓存驱动程序都是通用的?