gpt4 book ai didi

Laravel - 清除所有包含特定字符串的缓存/redis 键

转载 作者:IT王子 更新时间:2023-10-29 06:00:48 26 4
gpt4 key购买 nike

是否可以使用 Laravel 删除 redis 中与特定字符串匹配的所有键?例如,如果我想忘记带有单词 products 的键,它会忘记以下键:

laravel:896235872385237588327582370375acaca235325:产品列表laravel:896235872385237588327582370375acaca235325:产品类别

我会在 redis 服务器上运行它,但我想知道是否有更好的东西可以直接通过 Laravel 运行:

redis-cli 键“*” | grep“产品” | xargs redis-cli DEL

最佳答案

为什么不呢:

public function forget($key_name)
{
$redis = Cache::getRedis();
$keys = $redis->keys("*$key_name*");
$count = 0;
foreach ($keys as $key) {
$redis->del($key);
$count++;
}
return $count;
}

对于生产环境,应该使用 SCAN 游标 [MATCH pattern] [COUNT count] 而不是“keys”

http://redis.io/commands/scan

因为你不希望在 redis 中有数万个键时耗尽内存,并且你不希望使用“键”来阻塞整个 redis 实例。

关于Laravel - 清除所有包含特定字符串的缓存/redis 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35074418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com