Laravel Redis删除所有以字符串开头的键

问题描述 投票:0回答:1

这是Redis键,例如“ product:1:list:somekey”我想删除列表键

下的所有键

我用过

Redis::del('product:1');

功能,但不起作用。

laravel redis
1个回答
0
投票

所需的Redis :: keys()方法

$keys = Redis::keys('product:1:list:*')

将返回给定模式的键数组

此后,您必须在全局缓存前缀之前添加

function addPrefix($keys)
{
    if (!count($keys)) return;

    $prefix = config("cache.prefix") . ":";

    return array_map(function ($item) use ($prefix) {
        return $prefix . $item;
    }, $keys);
}

$prefixed_keys = addPrefix($keys);
Redis::del($prefixed_keys)
© www.soinside.com 2019 - 2024. All rights reserved.