Heim  >  Fragen und Antworten  >  Hauptteil

So erhalten Sie alle Redis-Schlüssel im Cache von Laravel

Die Caching-Fassade in Laravel ermöglicht es Ihnen anscheinend nicht, alle Schlüssel abzurufen, die derzeit in Redis zwischengespeichert sind.

Ich möchte einen Endpunkt erstellen, damit ich diese Informationen abrufen und wissen kann, ob meine Eingaben ordnungsgemäß funktionieren.

Ich habe erfolglos versucht, die Redis-Fassade mit den folgenden Befehlen und den entsprechenden Fehlern zu verwenden

Redis::keys("*");

"Cannot use 'KEYS' with redis-cluster."


Redis::scan("cursor");

"Cannot use 'SCAN' with redis-cluster."

P粉986860950P粉986860950219 Tage vor356

Antworte allen(1)Ich werde antworten

  • P粉627027031

    P粉6270270312024-02-18 12:01:48

    在Redis、集群中,如果你有很多key,建议扫描而不是key。 但是,您应该正确使用它。尝试使用这种方式。

    use Illuminate\Support\Facades\Redis;
    
    $cursor = '0'; // Start with initial cursor
    
    do {
        // Scan for keys with current cursor
        list($cursor, $keys) = Redis::scan($cursor);
    
        foreach ($keys as $key) {
          echo "Key: $key\n";
       }
    } while ($cursor !== '0'); // Continue scanning until cursor is '0'

    参考: Laravel 和 redis 扫描

    Antwort
    0
  • StornierenAntwort