Redis er en gratis, åpen kildekode-database som er bredt vedtatt som en hurtigmekanisme eller meldingsmegler.
Selv om det er veldig allsidig og omfattende som standard, tillater det deg å utvide funksjonaliteten ved å bruke den innebygde LUA -tolken. Dette betyr at du kan skrive skript skrevet i LUA for å utføre ytterligere operasjoner i Redis -databasen.
Krav
For bedre å følge med denne opplæringen, anbefalte vi å ha den nyeste versjonen av Redis -serveren på systemet ditt.
Grunnleggende redis kunnskap er gunstig for å forstå kommandoene illustrert i denne opplæringen.
Redis eval -kommando
For å kjøre LUA -kommandoer i Redis, må du bruke eval -kommandoen. Kommandoen ber Redis om å utføre koden som et LUA-skript på serversiden.
Et eksempel er som vist:
127.0.0.1: 6379> eval "Redis.ring ('sett', nøkler [1], argv [1]) "1 nøkkelverdiI eksemplet over starter vi med eval -kommandoen etterfulgt av et LUA -skript. Manuset bruker Redis.samtalefunksjon. Vi passerer deretter kommandoen for å kjøre, nøkkel og verdi som argumenter. Dette ligner på å kjøre SET -nøkkelverdier.
Merk at nøkler og argv betegner argumentene til skriptet. Vi spesifiserer antall nøkler som 1 i dette tilfellet.
Argumentparsing gjøres via ARGV, som holder argumenttabellen. I vårt tilfelle passerer vi verdien av nøkkelen.
Vi kan deretter få tilgang til nøklene fra indeks 1.
MERK: Det anbefales å spesifisere alle tastene som brukes i skriptet under nøkler og alle andre argumenter under ARGV.
Vi kan hente verdien av en nøkkel ved hjelp av Get -kommandoen:
127.0.0.1: 6379> eval "Redis.Ring ('Get', Keys [1]) "1 KeyDette skal returnere verdien av den spesifiserte tasten.
Redis Evalsha -kommando
Redis gir deg også Evalsha -kommandoen for å huske en kommando basert på hasjverdien.
Dette fjerner behovet for å skrive skriptet på nytt hver gang du trenger det.
Eksempel:
Skriptbelastning "Retur Redis.Ring ('Get', Keys [1]) "Kommandoen over skal returnere en SHA -verdi som:
"4E6D8FC8BB01276962CCE5371FA795A7763657AE"Du kan deretter bruke denne SHA -verdien til å huske en kommando.
127.0.0.1: 6379> Evalsha 4E6D8FC8BB01276962CCE5371FA795A7763657AE 1 NøkkelFor å fjerne alle lastede skript, kjør kommandoen:
127.0.0.1: 6379> Script FlushKommandoen over skal skylle skriptbufferen.
Konklusjon
Denne artikkelen beskriver de mest grunnleggende kommandoene som skal brukes når du jobber med LUA -skripting i Redis. Sjekk LUA -dokumentasjonen for å oppdage mer.