sql >> Base de Datos >  >> NoSQL >> Redis

Redis scan count:¿Cómo forzar SCAN para devolver todas las claves que coincidan con un patrón?

Con el siguiente código, escaneará los 1000 primeros objetos desde el cursor 0

SCAN 0 MATCH "foo:bar:*" COUNT 1000 

Como resultado, obtendrá un nuevo cursor para recuperar

SCAN YOUR_NEW_CURSOR MATCH "foo:bar:*" COUNT 1000

Para escanear 1000 objetos siguientes. Luego, cuando aumentas COUNT de 1000 a 10000 y recuperar datos, escanea más claves y luego, en su caso, empareja más claves.

Para escanear la lista completa, debe recuperar SCAN hasta que el cursor dé en respuesta devuelva cero (es decir, escaneo completo)

Usa INFO comando para obtener su cantidad de claves como

db0:keys=SU_CANTIDAD_DE_CLAVES,caduca=0,avg_ttl=0

Entonces llama

SCAN 0 MATCH "foo:bar:*" COUNT YOUR_AMOUNT_OF_KEYS