sql >> Database teknologi >  >> NoSQL >> Redis

Sådan bruger du SCAN med MATCH-indstillingen i Predis

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 for SCAN
  • HashKey for HSCAN
  • SetKey for SSCAN
  • SortedSetKey for ZSCAN
  • ListKey for LRANGE - Dette bruger ikke rigtigt Redis iteratorer, men det er en fin grænseflade til LRANGE alligevel.


  1. Er der MGET-analog til Redis-hash?

  2. Hvordan kan man atomisk slette millioner af nøgler, der matcher et mønster ved hjælp af ren Redis?

  3. Redis Out of Memory-undtagelser, men har stadig masser af hukommelse

  4. Hvordan adskiller redis instansen med flere brugere, der kører på samme server?