Znalazłem, jak to zrobić w katalogu przykładów Predis.
Aby użyć SCAN
aby wyszukać pasujące klucze w bazie danych, wystarczy użyć Predis\Collection\Iterator\Keyspace
klasa:
use Predis\Collection\Iterator;
$client = ...;
$pattern = 'foo*';
foreach (new Iterator\Keyspace($client, $pattern) as $key) {
...
}
Najwyraźniej Predis ma klasę iteratora w Predis\Collection\Iterator
dla każdego polecenia, które zwraca iteratory:
Keyspace
dlaSCAN
HashKey
dlaHSCAN
SetKey
dlaSSCAN
SortedSetKey
dlaZSCAN
ListKey
dlaLRANGE
- To naprawdę nie używa iteratorów Redis, ale jest to fajny interfejs doLRANGE
w każdym razie.