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

Proč nemohu spustit lua skript v redis po restartu redis?

Skripty Lua na straně serveru společnost Redis neukládá ani neukládá. Nejsou podobné uloženým procedurám, které můžete najít v RDBMS.

Klienti by měli poskytnout text skriptu alespoň pro první spuštění skriptu (tj. použít EVAL pro první spuštění a EVALSHA pro další volání). Případně můžete také použít SCRIPT LOAD a SCRIPT EXISTS, může to být pohodlnější v závislosti na situaci.

To je pro aplikaci trochu složitější, ale má to své výhody:server Redis je díky tomu bezstavový, pokud jde o skriptování Lua. Kód aplikace (včetně Lua skriptů) je spravován na straně aplikace. Před načtením nové verze aplikace nemusíte na serveru Redis nic aplikovat (i když se skripty Lua změnily).

Tato vlastnost je velmi užitečná v kontextu distribuované infrastruktury pro podporu načítání aplikací za běhu, sharding na straně klienta nebo cluster Redis.




  1. Operátor agregačního potrubí MongoDB $min

  2. Jak v Mongoose seřadím podle data? (node.js)

  3. Autentizace aplikací NodeJS a MongoDB pomocí JWT

  4. Jak vytvořit DB pro kontejner MongoDB při spuštění?