Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment utiliser SCAN avec l'option MATCH dans Predis

J'ai trouvé comment faire dans le répertoire des exemples de Predis.

Pour utiliser SCAN pour rechercher des clés correspondantes dans une base de données, il vous suffit d'utiliser le Predis\Collection\Iterator\Keyspace classe :

use Predis\Collection\Iterator;

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

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

Apparemment, Predis a une classe d'itérateur dans Predis\Collection\Iterator pour chacune des commandes qui renvoient des itérateurs :

  • Keyspace pour SCAN
  • HashKey pour HSCAN
  • SetKey pour SSCAN
  • SortedSetKey pour ZSCAN
  • ListKey pour LRANGE - Cela n'utilise pas vraiment les itérateurs Redis, mais c'est une belle interface pour LRANGE de toute façon.