sql >> Databasteknik >  >> NoSQL >> Redis

Varför kan jag inte köra lua script i redis efter omstart?

Lua-skript på serversidan sparas eller lagras inte av Redis. De liknar inte de lagrade procedurerna du kan hitta i RDBMS.

Klienterna ska tillhandahålla skriptets text åtminstone för den första körningen av skriptet (dvs. använd EVAL för den första körningen och EVALSHA för nästa anrop). Alternativt kan du också använda SCRIPT LOAD och SCRIPT FINNS, det kan vara bekvämare beroende på situationen.

Detta är lite mer komplicerat att hantera för applikationen, men det finns fördelar:det gör Redis-servern statslös när det gäller Lua-skript. Koden för applikationen (inklusive Lua-skript) hanteras på applikationssidan. Du behöver inte applicera något på Redis-servern innan du laddar en ny version av applikationen (även om Lua-skripten har ändrats).

Den här egenskapen är mycket användbar i samband med en distribuerad infrastruktur för att stödja applikationsladdningar i farten, eller sönderdelning på klientsidan, eller Redis-kluster.




  1. Varför tar MongoDB så mycket plats?

  2. Mongodb - Skillnaden mellan att köra mongo- och mongod-databaser

  3. Redis::CommandError:ERR Klienten skickade AUTH, men inget lösenord är inställt

  4. MongoDB-CR-autentisering misslyckades