Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Dlaczego nie mogę uruchomić skryptu lua w redis po ponownym uruchomieniu redis?

Skrypty Lua po stronie serwera nie są zapisywane ani przechowywane przez Redis. Nie są one podobne do procedur składowanych, które można znaleźć w RDBMS.

Klienci powinni dostarczyć tekst skryptu przynajmniej do pierwszego wykonania skryptu (tj. Użyj EVAL do pierwszego wykonania i EVALSHA do następnych wywołań). Alternatywnie możesz również użyć SCRIPT LOAD i SCRIPT EXISTS, może to być wygodniejsze w zależności od sytuacji.

Jest to nieco bardziej skomplikowane w obsłudze dla aplikacji, ale są korzyści:sprawia, że ​​serwer Redis jest bezstanowy w odniesieniu do skryptów Lua. Kod aplikacji (w tym skrypty Lua) jest zarządzany po stronie aplikacji. Nie musisz niczego nakładać na serwer Redis przed załadowaniem nowej wersji aplikacji (nawet jeśli skrypty Lua uległy zmianie).

Ta właściwość jest bardzo przydatna w kontekście infrastruktury rozproszonej do obsługi ładowania aplikacji w locie, fragmentowania po stronie klienta lub klastra Redis.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. nie można połączyć się z kontenerem redis z kontenera aplikacji

  2. redis limit czasu połączenia ze zdalnym serwerem w dokerze

  3. Redis Expire nie działa

  4. Konfiguracja wdrożenia Redis — replikacja master-slave

  5. Dlaczego SQLite jest szybszy niż Redis w tym prostym teście?