sql >> Databáze >  >> NoSQL >> Redis

Redis lua, kdy to opravdu použít?

Skript Lua mají fungovat jako MULTI příkazy. Ve skutečnosti většina příkazů, které byste vyvinuli pomocí MULTI příkazy z klienta Redis lze implementovat v Lua. To znamená, že některé složité operace můžete zapouzdřit do skriptu a vaše datová vrstva provede atomickou operaci zápisu bez obav o svou strategii modelování dat na Redis.

Také je považuji za užitečné, když chcete provádět rychlé, ale složité operace čtení. Můžete například chtít seřadit předměty. Objekty jsou uloženy v hash klíči zatímco pořadí je definováno klíčem tříděného souboru . Získáte rozsah tzv. tříděné množiny a objekty v hash získáte pomocí hmget .

Nejdůležitějším bodem je, že skripty Lua by měly implementovat věci, které lze provádět co nejrychleji, protože Redis bude blokovat jiné operace, když je spuštěn skript Lua. To znamená, že musíte provést rychlá přerušení nebo se váš celkový výkon Redis hodně sníží.

Argumenty pro nepoužívat Lua

Řekl bych, že byste je měli používat, když je opravdu potřebujete. Klienti jsou obvykle vyvíjeni pomocí programovacích jazyků na vysoké úrovni, jako je C#, Java, JavaScript, Ruby... a poskytují lepší zkušenosti s vývojem:dobré debuggery, IDE, dokončování kódu...

Shrnutí:měli byste je použít, pokud můžete prokázat, že existuje skutečný přínos (z hlediska výkonu), pokud převedete některou část logiky vaší domény do skriptů Redis Lua.



  1. java.lang.NoClassDefFoundError při použití ovladače MongoDB

  2. MongoDB jako služba Windows a nastavení replicaSet

  3. Redis ukládání řetězců jako vyrovnávacích pamětí na některých OS, ne na jiných?

  4. Částečné indexy v mongodb / mongoose