-1
特定のキーが存在する場合にのみ値を増やしたいと考えています。キーが存在しない場合は、値を1に設定する必要があります。アトミック・ステップとしてこのロジックを実装することは可能ですか?redis - 条件に基づいて増加またはリセットする
特定のキーが存在する場合にのみ値を増やしたいと考えています。キーが存在しない場合は、値を1に設定する必要があります。アトミック・ステップとしてこのロジックを実装することは可能ですか?redis - 条件に基づいて増加またはリセットする
INCR
コマンドは、まさにあなたが望むものです。
キーが存在しない場合、増分操作を実行する前に値が0に設定されます。つまり、値は1
に設定されます。コマンドは原子的に実行されます。
UPDATE
増加させる鍵は、その存在が確認され、あなたがトランザクション内で作業を行うためのLua
スクリプトを記述する必要が同じキーではない場合。
if (redis.call("exists", KEYS[1]) > 0) then redis.call("incr", KEYS[2]) end
増加した値のキーではありません。 –
@ nagy.zsolt.hunその場合、それを行うための方法はありません。トランザクションで作業を行うためにLuaスクリプトを作成する必要があります。 –
@for_stackに関係なく、**決してスクリプト内のハードコードキー名 –