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.