redis/src/commands/set.json

133 lines
3.7 KiB
JSON

{
"SET": {
"summary": "Set the string value of a key",
"complexity": "O(1)",
"group": "string",
"since": "1.0.0",
"arity": -3,
"function": "setCommand",
"get_keys_function": "setGetKeys",
"history": [
[
"2.6.12",
"Added the `EX`, `PX`, `NX` and `XX` options."
],
[
"6.0.0",
"Added the `KEEPTTL` option."
],
[
"6.2.0",
"Added the `GET`, `EXAT` and `PXAT` option."
],
[
"7.0.0",
"Allowed the `NX` and `GET` options to be used together."
]
],
"command_flags": [
"WRITE",
"DENYOOM"
],
"acl_categories": [
"STRING"
],
"key_specs": [
{
"notes": "RW and ACCESS due to the optional `GET` argument",
"flags": [
"RW",
"ACCESS",
"UPDATE",
"VARIABLE_FLAGS"
],
"begin_search": {
"index": {
"pos": 1
}
},
"find_keys": {
"range": {
"lastkey": 0,
"step": 1,
"limit": 0
}
}
}
],
"arguments": [
{
"name": "key",
"type": "key",
"key_spec_index": 0
},
{
"name": "value",
"type": "string"
},
{
"name": "condition",
"type": "oneof",
"optional": true,
"since": "2.6.12",
"arguments": [
{
"name": "nx",
"type": "pure-token",
"token": "NX"
},
{
"name": "xx",
"type": "pure-token",
"token": "XX"
}
]
},
{
"name": "get",
"token": "GET",
"type": "pure-token",
"optional": true,
"since": "6.2.0"
},
{
"name": "expiration",
"type": "oneof",
"optional": true,
"arguments": [
{
"name": "seconds",
"type": "integer",
"token": "EX",
"since": "2.6.12"
},
{
"name": "milliseconds",
"type": "integer",
"token": "PX",
"since": "2.6.12"
},
{
"name": "unix-time-seconds",
"type": "unix-time",
"token": "EXAT",
"since": "6.2.0"
},
{
"name": "unix-time-milliseconds",
"type": "unix-time",
"token": "PXAT",
"since": "6.2.0"
},
{
"name": "keepttl",
"type": "pure-token",
"token": "KEEPTTL",
"since": "6.0.0"
}
]
}
]
}
}