Redis
 sql >> Database >  >> NoSQL >> Redis

Come utilizzare SCAN con l'opzione MATCH in Predis

Ho trovato come farlo nella directory degli esempi di Predis.

Per utilizzare SCAN per cercare le chiavi corrispondenti in un database, è sufficiente utilizzare il Predis\Collection\Iterator\Keyspace classe:

use Predis\Collection\Iterator;

$client = ...;
$pattern = 'foo*';

foreach (new Iterator\Keyspace($client, $pattern) as $key) {
    ...
}

Apparentemente Predis ha una classe iteratore in Predis\Collection\Iterator per ciascuno dei comandi che restituiscono iteratori:

  • Keyspace per SCAN
  • HashKey per HSCAN
  • SetKey per SSCAN
  • SortedSetKey per ZSCAN
  • ListKey per LRANGE - Questo non usa realmente gli iteratori Redis, ma è una bella interfaccia per LRANGE comunque.