缓存标签
最后更新于:2022-04-01 15:06:37
> 注意: 文件或数据库这类缓存系统均不支持缓存标签。此外,使用带有「forever」的缓存标签时,挑选 memcached 这类缓存系统将获得最好的性能,它会自动清除过期的纪录。
## 访问缓存标签
缓存标签允许您标记缓存内的相关对象,然后使用特定名称更新所有缓存标签。要访问缓存标签可以使用 tags 方法。
您可以保存缓存标签,通过将有序标签列表当作参数传入,或者作为标签名称的有序数组:
~~~
Cache::tags('people', 'authors')->put('John', $john, $minutes);
Cache::tags(['people', 'artists'])->put('Anne', $anne, $minutes);
~~~
您可以结合使用各种缓存保存方法与标签,包含 remember, forever, 和 rememberForever 。您也可以从已标记的缓存中访问对象,以及使用其他缓存方法如 increment 和 decrement 。
从已标记的缓存中访问对象
要访问已标记的缓存,可传入相同的有序标签列表。
~~~
$anne = Cache::tags('people', 'artists')->get('Anne');
$john = Cache::tags(['people', 'authors'])->get('John');
~~~
您可以更新所有已标记的对象,使用指定名称或名称列表。例如,以下例子将会移除带有 people 或 authors 或者两者皆有的所有缓存标签,所以「Anne」和「John」皆会从缓存中被移除:
`Cache::tags('people', 'authors')->flush();`
对照来看,以下例子将只会移除带有 authors 的标签,所以「John」会被移除,但是「Anne」不会。
`Cache::tags('authors')->flush();`