Redis to bezpłatna baza danych w pamięci otwartych szeroko stosowana jako mechanizm buforowania lub broker wiadomości.
Chociaż domyślnie jest bardzo wszechstronny i obszerny, pozwala rozszerzyć funkcjonalność za pomocą wbudowanego interpretera LUA. Oznacza to, że możesz pisać skrypty napisane w LUA, aby wykonywać dodatkowe operacje w bazie danych Redis.
Wymagania
Aby lepiej śledzić ten samouczek, zaleciliśmy posiadanie najnowszej wersji serwera Redis w systemie.
Podstawowa wiedza Redis jest korzystna dla zrozumienia poleceń ilustrowanych w tym samouczku.
Polecenie Redis Eval
Aby uruchomić polecenia LUA w Redis, musisz użyć polecenia eval. Polecenie mówi Redisowi, aby wykonał kod jako skrypt LUA po stronie serwera.
Przykładem jest jak pokazano:
127.0.0.1: 6379> eval "redis.Call („Set”, klucze [1], argv [1]) „1 wartość kluczowaW powyższym przykładzie zaczynamy od polecenia evalu, a następnie skryptu Lua. Skrypt używa redis.funkcja połączenia. Następnie przekazujemy polecenie, aby uruchomić, kluczowe i wartościowe jako argumenty. Jest to podobne do uruchamiania ustalonych wartości kluczowych.
Zwróć uwagę, że Keys i ARGV oznaczają argumenty skryptu. W tym przypadku określamy liczbę kluczy jako 1.
Parsowanie argumentów odbywa się za pośrednictwem ArgV, która zawiera tabelę argumentów. W naszym przypadku przekazujemy wartość klucza.
Następnie możemy uzyskać dostęp do kluczy, zaczynając od indeksu 1.
NOTATKA: Zaleca się określenie wszystkich kluczy użytych w skrypcie w ramach kluczy i wszystkich innych argumentów w ramach Argv.
Możemy pobrać wartość klucza za pomocą polecenia GET:
127.0.0.1: 6379> eval "redis.Call („Get”, klucze [1]) „1 kluczPowinno to zwrócić wartość określonego klucza.
Polecenie Redis Evalsha
Redis zapewnia również polecenie Evalsha, aby przywołać polecenie oparte na jego wartości skrótu.
To usuwa potrzebę ponownego przesunięcia skryptu za każdym razem, gdy go potrzebujesz.
Przykład:
Ładowanie skryptu „return redis.Zadzwoń („Get”, klucze [1]) ”Pokazanie powyżej powinno zwrócić wartość SHA jako:
„4E6D8FC8BB01276962CCE5371FA795A7763657EAE”Następnie możesz użyć tej wartości SHA, aby przywołać polecenie.
127.0.0.1: 6379> Evalsha 4E6D8FC8BB01276962CCE5371FA795A7763657AE 1 KEYAby usunąć wszystkie załadowane skrypty, uruchom polecenie:
127.0.0.1: 6379> Script FlushPolecenie powyżej powinno spłukać pamięć podręczną skryptu.
Wniosek
W tym artykule opisano najbardziej podstawowe polecenia do użycia podczas pracy z skryptami Lua w Redis. Sprawdź dokumentację LUA, aby odkryć więcej.