sql >> Base de Datos >  >> NoSQL >> Redis

Cómo usar SCAN con la opción MATCH en Predis

Encontré cómo hacerlo en el directorio de ejemplos de Predis.

Para usar SCAN para buscar claves coincidentes en una base de datos, simplemente use Predis\Collection\Iterator\Keyspace clase:

use Predis\Collection\Iterator;

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

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

Aparentemente, Predis tiene una clase de iterador en Predis\Collection\Iterator para cada uno de los comandos que devuelven iteradores:

  • Keyspace para SCAN
  • HashKey para HSCAN
  • SetKey para SSCAN
  • SortedSetKey para ZSCAN
  • ListKey para LRANGE - Esto realmente no usa iteradores de Redis, pero es una buena interfaz para LRANGE de todos modos.