série redis
- fonction de publication et d'abonnement redis
- file d'attente de messages redis
- pipeline redis
- opération d'analyse redis
séquence
Il y a un grand nombre de clés ou de clés dans le redis db S'il y a beaucoup d'éléments dans un ensemble, un zset ou un hachage dans la base de données, l'utilisation de l'opération get all ordinaire est susceptible de provoquer le blocage de redis en raison de cette opération, ce qui entraînera l'incapacité de répondre à d'autres opérations, surtout dans le contexte d'une concurrence élevée et de données massives, ce problème semble particulièrement grave. Alors, peut-il avoir une fonction de pagination comme une base de données ? La réponse est l’opération d’analyse. Cet article montre principalement comment l'utiliser dans redis-cli et SpringDataRedis. [Recommandé : Tutoriel vidéo Redis]
syntaxe d'analyse
Après la numérisation, deux parties sont renvoyées. La première partie correspond aux paramètres de l'analyse suivante et la deuxième partie correspond aux éléments de l'analyse
Objets d'action (db). , set, zset, hash )
- db(
key
)key
)
127.0.0.1:6379> scan 0 1) "120" 2) 1) "articleMap:63" 2) "articleMap:37" 3) "counter:__rand_int__" 4) "articleMap:60" 5) "tagSet:tag5" 6) "articleMap:80" 7) "messageCache~keys" 8) "mymap" 9) "articleMap:46" 10) "articleMap:55" 127.0.0.1:6379> scan 120 1) "28" 2) 1) "articleMap:17" 2) "tagSet:tag1" 3) "articleMap:18" 4) "articleMap:81" 5) "\xac\xed\x00\x05t\x00\btest-cas" 6) "articleMap:51" 7) "articleMap:94" 8) "articleMap:26" 9) "articleMap:71" 10) "user-abcde"
- set(
value
)
127.0.0.1:6379> sscan myset 0 1) "3" 2) 1) "m" 2) "j" 3) "c" 4) "h" 5) "f" 6) "i" 7) "a" 8) "g" 9) "n" 10) "e" 11) "b" 127.0.0.1:6379> sscan myset 3 1) "0" 2) 1) "l" 2) "k" 3) "d"
- zset(
value & score
)
127.0.0.1:6379> zscan sortset 0 1) "0" 2) 1) "tom" 2) "89" 3) "jim" 4) "90" 5) "david" 6) "100"
- hash(
key & value
)
127.0.0.1:6379> hscan mymap 0 1) "0" 2) 1) "name" 2) "codecraft" 3) "email" 4) "pt@g.cn" 5) "age" 6) "20" 7) "desc" 8) "hello" 9) "sex" 10) "male"
SCAN的额外参数
- count(
指定每次取多少条
)
127.0.0.1:6379> scan 0 count 5 1) "240" 2) 1) "articleMap:63" 2) "articleMap:37" 3) "counter:__rand_int__" 4) "articleMap:60" 5) "tagSet:tag5"
- match(
匹配key
127.0.0.1:6379> scan 0 match article* 1) "120" 2) 1) "articleMap:63" 2) "articleMap:37" 3) "articleMap:60" 4) "articleMap:80" 5) "articleMap:46" 6) "articleMap:55"