laravel - 使用正则表达式忘记缓存 laravel

标签 laravel caching redis

我正在使用 laravel 和 Redis 驱动程序来存储我的缓存,并将我的 key 范围限制为当前租户。以下是我设置缓存的方法;其中 $tenant 是当前租户。

$department_count = Cache::remember('dep_count:'.$tenant, 60 * 60 * 24, function () use ($tenant) {
       return Department::where('is_active', 'yes')->where('tenantID', $tenant)->count();
});

因此,在转校时,我想使用 cache::forget() 清除当前租户的所有缓存,但我不知道该怎么做。

我尝试过Cache::forget('*:'.$tenant)但它似乎不起作用。非常感谢任何有关如何进行的帮助。

最佳答案

如果您想要组缓存并仅删除特定的缓存组,您可以使用标签。

请阅读this 。会有帮助的

Cache::tags(['tag_'.$tenant])->remember('dep_count:'.$tenant, 60 * 60 * 24, function () use ($tenant) {
       return Department::where('is_active', 'yes')->where('tenantID', $tenant)->count();
});

用于删除

Cache::tags(['tag_'.$tenant])->flush();

关于laravel - 使用正则表达式忘记缓存 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73002672/

相关文章:

javascript - laravel vue 控制台中的缩进问题

javascript - Laravel 使用 AJAX 将 Javascript 变量传递给 PHP 并检索它们

laravel 语法 '::' at 查看函数含义

java - 使用 JEDIS 进行类似于 SQL 的插入和选择

lua - 从 redis 客户端运行 Lua 脚本时出错

mysql - 如何在 Laravel 应用程序中更快地处理大型数据库?

缓存函数结果 f#

ajax - 使用 AJAX 时清除 IE 缓存,而不使用缓存清除查询字符串,但使用 http 响应 header

c++ - Poco 中的 LRU 缓存策略 - 它是如何工作的?

node.js - 如何删除 Node redis中的所有内容?