laravel redis/如何只刷新特定的redis数据库?

xxls0lw8  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(654)

正如你所知道的,redis可能有几个数据库,在我的laravel设置中,我定义了其中的3个,并且至少使用了2个

'0' (default)
'1' (cache)
'2' (queue)

这是我在config/database.php中设置的
此外,由于某些需要,我清除所有缓存使用 flushall() 方法:

@Cache::flush();
@Redis::flushall();

但是,它也清除了队列作业,这不是我想要的。有没有办法只刷新数据库0和数据库1,而不刷新 db2 ?

omhiaaxx

omhiaaxx1#

您可以同时使用select和flushdb命令来只刷新选定的数据库。
选择具有指定的基于零的数字索引的redis逻辑数据库。新连接始终使用数据库0。
删除当前选定数据库的所有键。
下面将选择数据库 1 先冲后冲 1 .

Redis::select(1);
Redis::flushdb();

它将在redis中执行以下命令:;

1596794331.068032 [0 127.0.0.1:55088] "SELECT" "1"
1596794331.071332 [1 127.0.0.1:55088] "FLUSHDB"

相关问题