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

Redis lua, kiedy naprawdę go używać?

Skrypty Lua mają działać jak MULTI polecenia. Właściwie większość poleceń, które stworzyłbyś za pomocą MULTI polecenia z klienta Redis można zaimplementować w Lua. Oznacza to, że możesz zawrzeć niektóre złożone operacje w skrypcie, a warstwa danych wykona niepodzielną operację zapisu bez martwienia się o strategię modelowania danych w Redis.

Uważam je również za przydatne, gdy chcesz wykonać szybkie, ale złożone operacje odczytu. Na przykład możesz chcieć uporządkować obiekty. Obiekty są przechowywane w kluczu mieszającym podczas gdy kolejność jest określona przez klucz posortowanego zestawu . Otrzymujesz zakres tak zwanego posortowanego zestawu i otrzymujesz obiekty w hashu za pomocą hmget .

Najważniejszym punktem jest to, że skrypty Lua powinny implementować rzeczy, które można wykonać tak szybko, jak to możliwe, ponieważ Redis zablokuje inne operacje, gdy skrypt Lua jest uruchomiony. Oznacza to, że musisz wykonywać szybkie przerwy lub ogólna wydajność Redis znacznie się zmniejszy.

Argumenty, aby nie używać Lua

Twierdzę, że powinieneś ich używać, kiedy naprawdę ich potrzebujesz. Zazwyczaj klienci są opracowywani przy użyciu języków programowania wysokiego poziomu, takich jak C#, Java, JavaScript, Ruby... i zapewniają lepsze wrażenia programistyczne:dobre debuggery, IDE, uzupełnianie kodu...

Podsumowanie:powinieneś ich używać, jeśli możesz udowodnić, że istnieje rzeczywista korzyść (pod względem wydajności), jeśli przekształcisz jakąś część logiki domeny w skrypty Redis Lua.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy powinienem utworzyć nowego klienta Redis dla każdego połączenia?

  2. Jak połączyć posortowane zestawy Redis?

  3. Jak stworzyć RedisCacheManager w spring-data 2.0.x

  4. Główne różnice/cechy wśród najbardziej znanych systemów NoSQL

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