Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Laravel - Löschen Sie alle Cache-/Redis-Schlüssel, die eine bestimmte Zeichenfolge enthalten

Warum nicht:

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;  
}

Und für die Produktionsumgebung sollte der SCAN-Cursor [MATCH-Muster] [COUNT count] anstelle von "Tasten" verwendet werden

http://redis.io/commands/scan

Weil Sie nicht möchten, dass Ihnen der Arbeitsspeicher ausgeht, falls Sie Zehntausende Schlüssel in Redis haben, und Sie nicht Ihre gesamte Redis-Instanz mit "Schlüsseln" blockieren möchten.