Fou*_*SSI 1 laravel laravel-cache
根据 Laravel文档
缓存标签允许您标记缓存中的相关项目,然后刷新已分配给给定标签的所有缓存值。你可以通过传入一个有序的标签名称数组来访问一个标签缓存。例如,让我们访问标记缓存并将值放入缓存中:
Cache::tags(['people', 'artists'])->put('John', $john, $minutes);
Cache::tags(['people', 'authors'])->put('Anne', $anne, $minutes);
Run Code Online (Sandbox Code Playgroud)
它们有什么用?
小智 5
正是文档提到的内容。您可以使用标签对缓存进行分组,以便在需要时可以按组清除它们。这真的取决于您的需求。
例如,如果您正在缓存产品:
Cache::put('product_' . $product->id, $product, $minutes);
Run Code Online (Sandbox Code Playgroud)
假设现在您要从缓存中删除所有产品。您必须使用模式product_{id}一一清除每个缓存键,但是如果您使用公共键标记它们(products例如),您可以一次清除所有产品:
Cache::tags(['products'])->put('product_' . $product->id, $product, $minutes);
Run Code Online (Sandbox Code Playgroud)
您还可以使用 artisan 命令清除特定标签:
php artisan cache:clear --tags=products
Run Code Online (Sandbox Code Playgroud)
或以编程方式
Cache::tags('products')->flush();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |