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

Redis Luaスクリプトが異なるRedisクラスターノードのキーをアトミックに更新できないのはなぜですか?

    ドキュメントを誤解されていると思います。 (そして、それがあまり明確ではないことに同意します。)

    コマンドであれLuaスクリプトであれ、Redis操作は、すべてのキーが同じサーバー上にある場合にのみ機能します。キー受け渡しルールの目的は、クラスターサーバーがスクリプトの送信先を特定し、すべてのキーが同じサーバーからのものでない場合に迅速に失敗できるようにすることです(これがあなたの場合に起こりました)。

    したがって、操作するすべてのキーが同じサーバー上にあることを確認するのはユーザーの責任です。そのための方法は、ハッシュタグを使用することです。 キーを強制的に同じスロットにハッシュします。詳細については、ドキュメントを参照してください。




    1. nginx/uwsgiサーバー用の永続的なメモリ内Pythonオブジェクト

    2. セッションをサポートするMongoDBクラスターを構成するにはどうすればよいですか?

    3. キーの半分を削除しても、Redisのメモリ使用量が減らないのはなぜですか

    4. ページネーションにMongoDBアグリゲーションを使用するにはどうすればよいですか?