Laravel Redis удаляет все ключи, начинающиеся со строки - PullRequest
0 голосов
/ 19 октября 2019

Это ключ Redis, например "product: 1: list: somekey". Я хочу удалить все ключи из списка ключей

Я использовал функцию

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

, но она не работала.

1 Ответ

1 голос
/ 19 октября 2019

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...