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

Como usar SCAN com a opção MATCH no Predis


Encontrei como fazer isso no diretório de exemplos do Predis.

Para usar SCAN para pesquisar chaves correspondentes em um banco de dados, basta usar o Predis\Collection\Iterator\Keyspace aula:
use Predis\Collection\Iterator;

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

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

Aparentemente, Predis tem uma classe iteradora em Predis\Collection\Iterator para cada um dos comandos que retornam iteradores:
  • Keyspace para SCAN
  • HashKey para HSCAN
  • SetKey para SSCAN
  • SortedSetKey para ZSCAN
  • ListKey para LRANGE - Isso realmente não usa iteradores Redis, mas é uma boa interface para LRANGE mesmo assim.