sql >> データベース >  >> NoSQL >> Redis

いつ実際に使用するのか、Redis lua?

    Luaスクリプト MULTIのように機能することを目的としています コマンド。実際、MULTIを使用して開発するほとんどのコマンド RedisクライアントからのコマンドはLuaで実装できます。つまり、いくつかの複雑な操作をスクリプトにカプセル化すると、データレイヤーがアトミックな書き込み操作を実行します。 Redisでのデータモデリング戦略を気にすることなく。

    また、すばやく複雑な読み取り操作を実行する場合にも便利です。たとえば、オブジェクトを順番に取得したい場合があります。オブジェクトはハッシュキーに保存されます 順序はソートされたセットキーによって定義されます。 。いわゆるソートされたセットの範囲を取得し、hmgetを使用してオブジェクトをハッシュで取得します 。

    最も重要な点は、Luaスクリプトの実行中にRedisが他の操作をブロックするため、Luaスクリプトは可能な限り高速に実行できるものを実装する必要があるということです。つまり、迅速な中断を実行する必要があります または、全体的なRedisのパフォーマンスが大幅に低下します。

    Luaを使用しないための引数

    本当に必要なときに使うべきだと思います。通常、クライアントはC#、Java、JavaScript、Rubyなどの高級プログラミング言語を使用して開発され、優れたデバッガー、IDE、コード補完など、より優れた開発エクスペリエンスを提供します。

    概要:ドメインロジックの一部をRedis Luaスクリプトに変換した場合に、(パフォーマンスに)実際のメリットがあることを証明できる場合は、これらを使用する必要があります。



    1. 特定の値を含む配列を持つドキュメントを検索する

    2. VersionError:Node.js/Mongooseで一致するドキュメントが見つかりませんエラー

    3. スプリングブートを使用して多くのタイムアウトが発生した場合にredisを無効にする

    4. Structuremapを使用してServiceStackWebアプリケーションでキャッシュおよびMQとしてカスタム名前空間にRedisを設定する方法