Jeg fandt, hvordan man gør det i biblioteket Predis eksempler.
For at bruge SCAN
for at søge efter matchende nøgler i en database, skal du blot bruge Predis\Collection\Iterator\Keyspace
klasse:
use Predis\Collection\Iterator;
$client = ...;
$pattern = 'foo*';
foreach (new Iterator\Keyspace($client, $pattern) as $key) {
...
}
Tilsyneladende har Predis en iterator-klasse i Predis\Collection\Iterator
for hver af de kommandoer, der returnerer iteratorer:
Keyspace
forSCAN
HashKey
forHSCAN
SetKey
forSSCAN
SortedSetKey
forZSCAN
ListKey
forLRANGE
- Dette bruger ikke rigtigt Redis iteratorer, men det er en fin grænseflade tilLRANGE
alligevel.