Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Wie kann ich Befehle in Redis ausführen, ohne überhaupt eine Antwort zu erhalten?

EVAL "" 0             returns $-1\r\n
EVAL "return 1" 0     returns :1\r\n

Im ersten Fall ist $-1 eine spezifische Massenantwort, die verwendet wird, um den Nullwert darzustellen (wie in der Protokollspezifikation beschrieben)

AFAIK, es gibt keine Möglichkeit, Redis mitzuteilen, dass es keine Antwort senden muss (auch nicht für eine leere Antwort).

Wie von Marc Gravell erläutert, können Sie mit Lua mehrere Operationen bündeln und das Volumen der Antwortdaten reduzieren. Sie werden jedoch das minimale Antwortpaket nicht vermeiden.

Beispielsweise könnten Sie 100 Operationen in einem Lua-Skript ausführen und als Antwort ein einziges minimales Paket erhalten. Dieses Paket kann meiner Meinung nach jedoch nicht vermieden werden, außer durch Ändern des Redis-Quellcodes.