Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Laravel - Apaga todas as chaves de cache/redis que contêm uma string específica


Por que não:
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;  
}

E para o ambiente de produção, o cursor SCAN [MATCH pattern] [COUNT count] deve ser usado em vez de "chaves"

http://redis.io/commands/scan

Porque você não quer ficar sem memória caso tenha dezenas de milhares de chaves no redis e não quer bloquear toda a sua instância redis usando "chaves".