From 41d67eabe6a5d292852e253b11f42fbad4c106d0 Mon Sep 17 00:00:00 2001 From: "zhaozhao.zz" Date: Thu, 12 Dec 2024 19:28:10 +0800 Subject: [PATCH] Explanation of issues when using GET and NX/XX/IFEQ together in the SET command Signed-off-by: zhaozhao.zz --- commands/set.md | 1 + 1 file changed, 1 insertion(+) diff --git a/commands/set.md b/commands/set.md index d3467cbe..866a36e4 100644 --- a/commands/set.md +++ b/commands/set.md @@ -15,6 +15,7 @@ The `SET` command supports a set of options that modify its behavior: * `IFEQ` *comparison-value* -- Set the key if the comparison value matches the existing value. An error is returned and `SET` aborted if the value stored at key is not a string. * `KEEPTTL` -- Retain the time to live associated with the key. * `GET` -- Return the old string stored at key, or nil if key did not exist. An error is returned and `SET` aborted if the value stored at key is not a string. + * Note: When `GET` is used together with `NX`/`XX`/`IFEQ`, it is impossible to determine whether the `SET` command executed successfully based on the reply. Note: Since the `SET` command options can replace `SETNX`, `SETEX`, `PSETEX`, `GETSET`, it is possible that in future versions of Valkey these commands will be deprecated and finally removed.