Jag hittade hur man gör det i Predis exempelkatalogen.
För att använda SCAN
för att söka efter matchande nycklar i en databas använder du helt enkelt Predis\Collection\Iterator\Keyspace
klass:
use Predis\Collection\Iterator;
$client = ...;
$pattern = 'foo*';
foreach (new Iterator\Keyspace($client, $pattern) as $key) {
...
}
Tydligen har Predis en iteratorklass i Predis\Collection\Iterator
för vart och ett av kommandona som returnerar iteratorer:
Keyspace
förSCAN
HashKey
förHSCAN
SetKey
förSSCAN
SortedSetKey
förZSCAN
ListKey
förLRANGE
- Det här använder egentligen inte Redis iteratorer, men det är ett trevligt gränssnitt förLRANGE
i alla fall.