sql >> Database teknologi >  >> NoSQL >> Redis

Hvorfor er der KEYS og ARGV-arrays, når du kalder Redis Lua-scripts?

Alle dine spørgsmål besvares på EVAL side, men siden du spurgte...:

Hvad er forskellen?

KEYS bruges til at videregive nøglenavne, mens ARGS burde være til noget andet. Dette håndhæves ikke ligefrem (dvs. de fleste gange ville det være ok at blande dem), men det kan føre til potentielle problemer, hvis det ikke følges.

Hvordan behandler Redis værdier i KEYS-arrayet?

Indholdet af KEYS kontrolleres for at bekræfte, at alle nøgler er tilgængelige for Redis-shard, der kører scriptet. Denne mekanisme er på plads for at tillade at køre scripts i en Redis-klyngeimplementering.

Hvad hvis jeg i mit script skal bruge nøgler, der er dynamisk genereret under kørsel?

Se tidligere svar - det kan lade sig gøre, men du ville gå imod anbefalingerne. Dit script vil kun være sikkert at køre på en selvstændig Redis-instans, og da denne adfærd ikke er specificeret, kan den gå i stykker i fremtidige udgivelser.




  1. Næste stop – Opbygning af en datapipeline fra Edge til Insight

  2. hvordan dræber jeg inaktive redis-klienter

  3. Percona Live Frankfurt 2018 - Begivenhedsoversigt og vores sessioner

  4. Ufølsom søgning i Mongo