SET
Stores a string, optionally with tested existence conditions or expiry.
Strings · Example verified
Syntax covered here
SET key value | SET key value EX seconds | SET key value NX [EX seconds] | SET key value XX GETNX skips an existing key and creates a missing one; NX with EX is also accepted. XX GET replaces an existing value while returning its previous value.
Tested example & replies
Requests below run in order against an empty database. Each connection authenticates with the fixture password first. Quoted values are strings; null is a nil reply; arrays preserve RESP order.
# connection: default
> SET greeting hello
"OK"
# connection: default
> SET greeting world NX
null
# connection: default
> SET fresh world NX EX 60
"OK"
# connection: default
> GET fresh
"world"
# connection: default
> SET fresh changed XX GET
"world"
# connection: default
> GET fresh
"changed"Test environment & reproducible evidence
Verified: 2026-09-21T11:06:06Z · Docker / Linux aarch64 · lavik 0.1.0-beta.1
Storage & connection: io_uring · temporary file, 2 workers, standalone, plaintext TCP, password authentication. This test does not measure NVMe performance.
Pinned source: 3955b98d43b312324aa8d52775df52cfb111c0d0
Binary SHA-256: 8306b37ddf05023f85166a6aa2192b7084757e8defd342b602e6470244aca887
Image: sha256:af0cfb11b78f184cb6cc49a774a49dc97a8e43a0bd3f4d63d83c8c9ef3282d6e
Lavik command registry · Valkey counterpart (support may differ)