Luaスクリプト MULTI
のように機能することを目的としています コマンド。実際、MULTI
を使用して開発するほとんどのコマンド RedisクライアントからのコマンドはLuaで実装できます。つまり、いくつかの複雑な操作をスクリプトにカプセル化すると、データレイヤーがアトミックな書き込み操作を実行します。 Redisでのデータモデリング戦略を気にすることなく。
また、すばやく複雑な読み取り操作を実行する場合にも便利です。たとえば、オブジェクトを順番に取得したい場合があります。オブジェクトはハッシュキーに保存されます 順序はソートされたセットキーによって定義されます。 。いわゆるソートされたセットの範囲を取得し、hmget
を使用してオブジェクトをハッシュで取得します 。
最も重要な点は、Luaスクリプトの実行中にRedisが他の操作をブロックするため、Luaスクリプトは可能な限り高速に実行できるものを実装する必要があるということです。つまり、迅速な中断を実行する必要があります または、全体的なRedisのパフォーマンスが大幅に低下します。
Luaを使用しないための引数
本当に必要なときに使うべきだと思います。通常、クライアントはC#、Java、JavaScript、Rubyなどの高級プログラミング言語を使用して開発され、優れたデバッガー、IDE、コード補完など、より優れた開発エクスペリエンスを提供します。
概要:ドメインロジックの一部をRedis Luaスクリプトに変換した場合に、(パフォーマンスに)実際のメリットがあることを証明できる場合は、これらを使用する必要があります。