sql >> Databáze >  >> NoSQL >> Redis

Proč existují pole KEYS a ARGV při volání skriptů Redis Lua?

Všechny vaše otázky jsou zodpovězeny na EVAL stránku, ale když jste se zeptali...:

Jaký je rozdíl?

KEYS se používá k předávání názvů klíčů, zatímco ARGS by mělo být na cokoli jiného. Toto není přesně vynuceno (tj. většinou by bylo v pořádku je smíchat), ale pokud se nebude dodržovat, může to vést k potenciálním problémům.

Jak Redis zachází s hodnotami v poli KEYS?

Obsah KEYS jsou zkontrolovány, aby se ověřilo, že všechny klíče jsou dostupné pro fragment Redis, na kterém je spuštěn skript. Tento mechanismus umožňuje spouštění skriptů v nasazení clusteru Redis.

Co když ve svém skriptu musím použít klíče dynamicky generované za běhu?

Viz předchozí odpovědi – to je možné, ale šli byste proti doporučením. Váš skript bude možné bezpečně spouštět pouze na samostatné instanci Redis, a protože toto chování není specifikováno, může se v budoucích vydáních přerušit.




  1. Instalace Memcached na CentOS 8

  2. Jak na to:Správa dat HBase přes Hue

  3. Co je Hadoop OutputFormat v MapReduce?

  4. Ruční zadávání argumentů do dotazu MongoDB pro podporu funkce řazení (pro index nerozlišující malá a velká písmena)