2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"SET":{
|
|
|
|
"summary": "Sets the value of an id",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
2016-04-13 04:47:57 +03:00
|
|
|
"type": "string"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "FIELD",
|
|
|
|
"name": ["name", "value"],
|
|
|
|
"type": ["string", "double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
2016-07-15 23:06:11 +03:00
|
|
|
"command": "EX",
|
2016-10-03 23:39:47 +03:00
|
|
|
"name": ["seconds"],
|
|
|
|
"type": ["double"],
|
2016-07-15 23:06:11 +03:00
|
|
|
"optional": true,
|
|
|
|
"multiple": false
|
2016-10-03 18:31:13 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "type",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "NX"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "XX"
|
|
|
|
}
|
|
|
|
]
|
2016-07-15 23:06:11 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value",
|
2016-03-05 02:08:16 +03:00
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "OBJECT",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "geojson",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "geojson"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "POINT",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "lat",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "lon",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "z",
|
|
|
|
"type": "double",
|
|
|
|
"optional": true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "minlat",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "minlon",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "maxlat",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "maxlon",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASH",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "geohash",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "geohash"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
2016-07-10 23:23:50 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "STRING",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "value",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "string"
|
2016-07-10 23:23:50 +03:00
|
|
|
}
|
|
|
|
]
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
2016-03-16 04:21:56 +03:00
|
|
|
"group": "keys"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
2016-07-15 23:06:11 +03:00
|
|
|
"EXPIRE": {
|
|
|
|
"summary": "Set a timeout on an id",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "seconds",
|
|
|
|
"type": "double"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "keys"
|
|
|
|
},
|
|
|
|
"TTL": {
|
|
|
|
"summary": "Get a timeout on an id",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "keys"
|
|
|
|
},
|
|
|
|
"PERSIST": {
|
|
|
|
"summary": "Remove the existing timeout on an id",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "keys"
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
"FSET": {
|
2017-11-11 01:58:51 +03:00
|
|
|
"summary": "Set the value for one or more fields of an id",
|
2016-03-05 02:08:16 +03:00
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
2017-11-11 01:58:51 +03:00
|
|
|
"command": "XX",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
2017-11-17 04:19:07 +03:00
|
|
|
{
|
|
|
|
"name": ["field","value"],
|
|
|
|
"type": ["string","double"]
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
2017-11-11 01:58:51 +03:00
|
|
|
"name": ["field","value"],
|
|
|
|
"type": ["string","double"],
|
2017-11-17 04:19:07 +03:00
|
|
|
"multiple": true,
|
|
|
|
"optional": true
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
2016-03-16 04:21:56 +03:00
|
|
|
"group": "keys"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
2016-08-19 18:33:58 +03:00
|
|
|
"BOUNDS": {
|
|
|
|
"summary": "Get the combined bounds of all the objects in a key",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.3.0",
|
|
|
|
"group": "keys"
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
"GET": {
|
|
|
|
"summary": "Get the object of an id",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
},
|
2016-04-01 22:46:39 +03:00
|
|
|
{
|
|
|
|
"command": "WITHFIELDS",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"name": "type",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "OBJECT"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "POINT"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASH",
|
|
|
|
"arguments": [
|
|
|
|
{
|
2016-03-16 04:21:56 +03:00
|
|
|
"name": "geohash",
|
|
|
|
"type": "geohash"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
2016-03-16 04:21:56 +03:00
|
|
|
"group": "keys"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
"DEL": {
|
|
|
|
"summary": "Delete an id from a key",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
2016-03-16 04:21:56 +03:00
|
|
|
"group": "keys"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
"DROP": {
|
|
|
|
"summary": "Remove a key from the database",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
2016-03-16 04:21:56 +03:00
|
|
|
"group": "keys"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
2018-12-29 02:00:13 +03:00
|
|
|
"RENAME": {
|
|
|
|
"summary": "Rename a key to be stored under a different name.",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "newkey",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.14.5",
|
|
|
|
"group": "keys"
|
|
|
|
},
|
|
|
|
"RENAMENX": {
|
|
|
|
"summary": "Rename a key to be stored under a different name, if a new key does not exist.",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "newkey",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.14.5",
|
|
|
|
"group": "keys"
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
"KEYS": {
|
|
|
|
"summary": "Finds all keys matching the given pattern",
|
|
|
|
"complexity": "O(N) where N is the number of keys in the database",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
2016-03-16 04:21:56 +03:00
|
|
|
"group": "keys"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
"STATS": {
|
|
|
|
"summary": "Show stats for one or more keys",
|
|
|
|
"complexity": "O(N) where N is the number of keys being requested",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string",
|
|
|
|
"variadic": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
2016-03-16 04:21:56 +03:00
|
|
|
"group": "keys"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
2016-07-13 06:11:02 +03:00
|
|
|
"SEARCH": {
|
|
|
|
"summary": "Search for string values in a key",
|
|
|
|
"complexity": "O(N) where N is the number of values in the key",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "CURSOR",
|
|
|
|
"name": "start",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "LIMIT",
|
|
|
|
"name": "count",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "MATCH",
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "order",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "ASC"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "DESC"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHERE",
|
|
|
|
"name": ["field","min","max"],
|
|
|
|
"type": ["string","double","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
2017-08-24 20:54:43 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREIN",
|
|
|
|
"name": ["field","count","value"],
|
|
|
|
"type": ["string","integer","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2018-02-16 03:36:47 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREEVAL",
|
|
|
|
"name": ["script","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHEREEVALSHA",
|
|
|
|
"name": ["sha1","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2016-07-13 06:11:02 +03:00
|
|
|
{
|
|
|
|
"command": "NOFIELDS",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "type",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "COUNT"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "IDS"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
2016-09-09 18:43:44 +03:00
|
|
|
"since": "1.4.2",
|
2016-07-13 06:11:02 +03:00
|
|
|
"group": "search"
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
"SCAN": {
|
|
|
|
"summary": "Incrementally iterate though a key",
|
|
|
|
"complexity": "O(N) where N is the number of ids in the key",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "CURSOR",
|
|
|
|
"name": "start",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "LIMIT",
|
|
|
|
"name": "count",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "MATCH",
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern",
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-07-12 22:18:16 +03:00
|
|
|
{
|
|
|
|
"name": "order",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "ASC"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "DESC"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"command": "WHERE",
|
|
|
|
"name": ["field","min","max"],
|
|
|
|
"type": ["string","double","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
2017-08-24 20:54:43 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREIN",
|
|
|
|
"name": ["field","count","value"],
|
|
|
|
"type": ["string","integer","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2018-02-16 03:36:47 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREEVAL",
|
|
|
|
"name": ["script","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHEREEVALSHA",
|
|
|
|
"name": ["sha1","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"command": "NOFIELDS",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "type",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "COUNT"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "IDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "OBJECTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "POINTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASHES",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "precision",
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "search"
|
|
|
|
},
|
|
|
|
"NEARBY": {
|
|
|
|
"summary": "Searches for ids that are nearby a point",
|
|
|
|
"complexity": "O(log(N)) where N is the number of ids in the area",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "CURSOR",
|
|
|
|
"name": "start",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "LIMIT",
|
|
|
|
"name": "count",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "SPARSE",
|
|
|
|
"name": "spread",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "MATCH",
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern",
|
|
|
|
"optional": true
|
|
|
|
},
|
2017-11-11 01:58:51 +03:00
|
|
|
{
|
|
|
|
"command": "DISTANCE",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"command": "WHERE",
|
|
|
|
"name": ["field","min","max"],
|
|
|
|
"type": ["string","double","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
2017-08-24 20:54:43 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREIN",
|
|
|
|
"name": ["field","count","value"],
|
|
|
|
"type": ["string","integer","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2018-02-16 03:36:47 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREEVAL",
|
|
|
|
"name": ["script","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHEREEVALSHA",
|
|
|
|
"name": ["sha1","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"command": "NOFIELDS",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "FENCE",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-04-03 00:43:46 +03:00
|
|
|
{
|
|
|
|
"command": "DETECT",
|
|
|
|
"name": ["what"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-12-29 17:53:01 +03:00
|
|
|
{
|
2017-01-07 19:10:06 +03:00
|
|
|
"command": "COMMANDS",
|
2016-12-29 17:53:01 +03:00
|
|
|
"name": ["which"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"name": "type",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "COUNT"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "IDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "OBJECTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "POINTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASHES",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "precision",
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
2016-05-25 01:58:52 +03:00
|
|
|
"name": "area",
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "POINT",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "lat",
|
|
|
|
"type": "double"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "lon",
|
|
|
|
"type": "double"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "meters",
|
|
|
|
"type": "double"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "ROAM",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "string"
|
2016-05-25 01:58:52 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "pattern"
|
2016-05-25 01:58:52 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "meters",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-05-25 01:58:52 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "search"
|
|
|
|
},
|
|
|
|
"WITHIN": {
|
2018-05-04 20:21:40 +03:00
|
|
|
"summary": "Searches for ids that completely within the area",
|
2016-03-05 02:08:16 +03:00
|
|
|
"complexity": "O(log(N)) where N is the number of ids in the area",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "CURSOR",
|
|
|
|
"name": "start",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "LIMIT",
|
|
|
|
"name": "count",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "SPARSE",
|
|
|
|
"name": "spread",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "MATCH",
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHERE",
|
|
|
|
"name": ["field","min","max"],
|
|
|
|
"type": ["string","double","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
2017-08-24 20:54:43 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREIN",
|
|
|
|
"name": ["field","count","value"],
|
|
|
|
"type": ["string","integer","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2018-02-16 03:36:47 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREEVAL",
|
|
|
|
"name": ["script","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHEREEVALSHA",
|
|
|
|
"name": ["sha1","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"command": "NOFIELDS",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "FENCE",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-04-03 00:43:46 +03:00
|
|
|
{
|
|
|
|
"command": "DETECT",
|
|
|
|
"name": ["what"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-12-29 17:53:01 +03:00
|
|
|
{
|
2017-01-13 19:04:09 +03:00
|
|
|
"command": "COMMANDS",
|
2016-12-29 17:53:01 +03:00
|
|
|
"name": ["which"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"name": "type",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "COUNT"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "IDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "OBJECTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "POINTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASHES",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "precision",
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "area",
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "GET",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "minlat",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "minlon",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "maxlat",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "maxlon",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "OBJECT",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "geojson",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "geojson"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2018-05-04 20:21:40 +03:00
|
|
|
{
|
|
|
|
"name": "CIRCLE",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "lat",
|
|
|
|
"type": "double"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "lon",
|
|
|
|
"type": "double"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "meters",
|
|
|
|
"type": "double"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"name": "TILE",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "x",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "y",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "z",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "QUADKEY",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "quadkey",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "string"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASH",
|
|
|
|
"arguments": [
|
|
|
|
{
|
2016-03-16 04:21:56 +03:00
|
|
|
"name": "geohash",
|
|
|
|
"type": "geohash"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "search"
|
|
|
|
},
|
|
|
|
"INTERSECTS": {
|
2018-05-04 20:21:40 +03:00
|
|
|
"summary": "Searches for ids that intersect an area",
|
2016-03-05 02:08:16 +03:00
|
|
|
"complexity": "O(log(N)) where N is the number of ids in the area",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "CURSOR",
|
|
|
|
"name": "start",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "LIMIT",
|
|
|
|
"name": "count",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "SPARSE",
|
|
|
|
"name": "spread",
|
|
|
|
"type": "integer",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "MATCH",
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern",
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHERE",
|
|
|
|
"name": ["field","min","max"],
|
|
|
|
"type": ["string","double","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
2017-08-24 20:54:43 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREIN",
|
|
|
|
"name": ["field","count","value"],
|
|
|
|
"type": ["string","integer","double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2018-02-16 03:36:47 +03:00
|
|
|
{
|
|
|
|
"command": "WHEREEVAL",
|
|
|
|
"name": ["script","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "WHEREEVALSHA",
|
|
|
|
"name": ["sha1","numargs","arg"],
|
|
|
|
"type": ["string","integer","string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true,
|
|
|
|
"variadic": true
|
|
|
|
},
|
2018-05-08 02:18:18 +03:00
|
|
|
{
|
|
|
|
"command": "CLIP",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"command": "NOFIELDS",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "FENCE",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-04-03 00:43:46 +03:00
|
|
|
{
|
|
|
|
"command": "DETECT",
|
|
|
|
"name": ["what"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-12-29 17:53:01 +03:00
|
|
|
{
|
2017-01-13 19:04:09 +03:00
|
|
|
"command": "COMMANDS",
|
2016-12-29 17:53:01 +03:00
|
|
|
"name": ["which"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"name": "type",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "COUNT"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "IDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "OBJECTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "POINTS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASHES",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "precision",
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "area",
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "GET",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "BOUNDS",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "minlat",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "minlon",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "maxlat",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "maxlon",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "OBJECT",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "geojson",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "geojson"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2018-05-04 20:21:40 +03:00
|
|
|
{
|
|
|
|
"name": "CIRCLE",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "lat",
|
|
|
|
"type": "double"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "lon",
|
|
|
|
"type": "double"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "meters",
|
|
|
|
"type": "double"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
2016-03-05 02:08:16 +03:00
|
|
|
{
|
|
|
|
"name": "TILE",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "x",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "y",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "z",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "double"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "QUADKEY",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "quadkey",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "string"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "HASH",
|
|
|
|
"arguments": [
|
|
|
|
{
|
2016-03-16 04:21:56 +03:00
|
|
|
"name": "geohash",
|
|
|
|
"type": "geohash"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "search"
|
|
|
|
},
|
2016-03-08 15:32:39 +03:00
|
|
|
"CONFIG GET": {
|
|
|
|
"summary": "Get the value of a configuration parameter",
|
|
|
|
"arguments":[
|
2016-03-08 03:37:39 +03:00
|
|
|
{
|
2016-03-08 15:32:39 +03:00
|
|
|
"name": "parameter",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "string"
|
2016-03-08 03:37:39 +03:00
|
|
|
}
|
|
|
|
],
|
2016-03-08 15:32:39 +03:00
|
|
|
"group": "server"
|
|
|
|
},
|
|
|
|
"CONFIG SET": {
|
|
|
|
"summary": "Set a configuration parameter to the given value",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "parameter",
|
2017-01-10 21:03:09 +03:00
|
|
|
"type": "string"
|
2016-03-08 15:32:39 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "server"
|
|
|
|
},
|
|
|
|
"CONFIG REWRITE": {
|
|
|
|
"summary": "Rewrite the configuration file with the in memory configuration",
|
|
|
|
"arguments":[],
|
|
|
|
"group": "server"
|
2016-03-05 02:08:16 +03:00
|
|
|
},
|
|
|
|
"SERVER": {
|
|
|
|
"summary":"Show server stats and details",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "server"
|
|
|
|
},
|
|
|
|
"GC": {
|
|
|
|
"summary":"Forces a garbage collection",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "server"
|
|
|
|
},
|
|
|
|
"READONLY": {
|
|
|
|
"summary": "Turns on or off readonly mode",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"enum": ["yes","no"]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "server"
|
|
|
|
},
|
|
|
|
"FLUSHDB": {
|
|
|
|
"summary":"Removes all keys",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "server"
|
|
|
|
},
|
|
|
|
"FOLLOW": {
|
|
|
|
"summary": "Follows a leader host",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "host",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "port",
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "replication"
|
|
|
|
},
|
|
|
|
"AOF": {
|
2016-03-16 04:21:56 +03:00
|
|
|
"summary": "Downloads the AOF starting from pos and keeps the connection alive",
|
2016-03-05 02:08:16 +03:00
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "pos",
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "replication"
|
|
|
|
},
|
|
|
|
"AOFMD5": {
|
|
|
|
"summary": "Performs a checksum on a portion of the aof",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "pos",
|
|
|
|
"type": "integer"
|
|
|
|
},
|
|
|
|
{
|
2016-03-14 04:31:59 +03:00
|
|
|
"name": "size",
|
2016-03-05 02:08:16 +03:00
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"since": "1.0.0",
|
|
|
|
"group": "replication"
|
|
|
|
},
|
|
|
|
"AOFSHRINK": {
|
|
|
|
"summary": "Shrinks the aof in the background",
|
|
|
|
"group": "replication"
|
2016-03-08 03:37:39 +03:00
|
|
|
},
|
|
|
|
"PING": {
|
|
|
|
"summary": "Ping the server",
|
|
|
|
"group": "connection"
|
|
|
|
},
|
|
|
|
"QUIT": {
|
|
|
|
"summary": "Close the connection",
|
|
|
|
"group": "connection"
|
|
|
|
},
|
|
|
|
"AUTH": {
|
|
|
|
"summary": "Authenticate to the server",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "password",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "connection"
|
2016-03-20 18:41:59 +03:00
|
|
|
},
|
2016-04-13 22:28:44 +03:00
|
|
|
"OUTPUT": {
|
|
|
|
"summary": "Gets or sets the output format for the current connection.",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "format",
|
|
|
|
"optional": true,
|
|
|
|
"enumargs": [
|
|
|
|
{
|
|
|
|
"name": "json"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "resp"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "connection"
|
|
|
|
},
|
2016-03-20 18:41:59 +03:00
|
|
|
"SETHOOK": {
|
|
|
|
"summary": "Creates a webhook which points to geofenced search",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "name",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "endpoint",
|
|
|
|
"type": "string"
|
|
|
|
},
|
2016-12-29 18:50:54 +03:00
|
|
|
{
|
|
|
|
"command": "META",
|
|
|
|
"name": ["name", "value"],
|
|
|
|
"type": ["string", "string"],
|
|
|
|
"optional": true,
|
2018-08-14 21:13:55 +03:00
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "EX",
|
|
|
|
"name": ["seconds"],
|
|
|
|
"type": ["double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": false
|
2016-12-29 18:50:54 +03:00
|
|
|
},
|
2016-03-20 18:41:59 +03:00
|
|
|
{
|
|
|
|
"enum": ["NEARBY", "WITHIN", "INTERSECTS"]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "FENCE",
|
|
|
|
"name": [],
|
|
|
|
"type": []
|
|
|
|
},
|
2016-04-03 00:43:46 +03:00
|
|
|
{
|
|
|
|
"command": "DETECT",
|
|
|
|
"name": ["what"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-12-29 17:53:01 +03:00
|
|
|
{
|
2017-01-13 19:04:09 +03:00
|
|
|
"command": "COMMANDS",
|
2016-12-29 17:53:01 +03:00
|
|
|
"name": ["which"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
2016-03-20 18:41:59 +03:00
|
|
|
{
|
|
|
|
"name": "param",
|
|
|
|
"type": "string",
|
|
|
|
"variadic": true
|
|
|
|
}
|
|
|
|
|
|
|
|
],
|
|
|
|
"group": "webhook"
|
|
|
|
},
|
|
|
|
"DELHOOK": {
|
|
|
|
"summary": "Removes a webhook",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "name",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "webhook"
|
|
|
|
},
|
|
|
|
"HOOKS": {
|
|
|
|
"summary": "Finds all hooks matching a pattern",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "webhook"
|
2016-09-12 05:20:53 +03:00
|
|
|
},
|
|
|
|
"PDELHOOK": {
|
|
|
|
"summary": "Removes all hooks matching a pattern",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "webhook"
|
2016-12-29 17:53:01 +03:00
|
|
|
},
|
2018-08-14 21:13:55 +03:00
|
|
|
|
|
|
|
"SETCHAN": {
|
|
|
|
"summary": "Creates a pubsub channel which points to geofenced search",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "name",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "META",
|
|
|
|
"name": ["name", "value"],
|
|
|
|
"type": ["string", "string"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "EX",
|
|
|
|
"name": ["seconds"],
|
|
|
|
"type": ["double"],
|
|
|
|
"optional": true,
|
|
|
|
"multiple": false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"enum": ["NEARBY", "WITHIN", "INTERSECTS"]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "FENCE",
|
|
|
|
"name": [],
|
|
|
|
"type": []
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "DETECT",
|
|
|
|
"name": ["what"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "COMMANDS",
|
|
|
|
"name": ["which"],
|
|
|
|
"type": ["string"],
|
|
|
|
"optional": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "param",
|
|
|
|
"type": "string",
|
|
|
|
"variadic": true
|
|
|
|
}
|
|
|
|
|
|
|
|
],
|
|
|
|
"group": "pubsub"
|
|
|
|
},
|
|
|
|
"DELCHAN": {
|
|
|
|
"summary": "Removes a channel",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "name",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "pubsub"
|
|
|
|
},
|
|
|
|
"CHANS": {
|
|
|
|
"summary": "Finds all channels matching a pattern",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "pubsub"
|
|
|
|
},
|
|
|
|
"PDELCHAN": {
|
|
|
|
"summary": "Removes all channels matching a pattern",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "pubsub"
|
|
|
|
},
|
2018-08-29 23:20:07 +03:00
|
|
|
"SUBSCRIBE": {
|
|
|
|
"summary": "Subscribe to a geofence channel",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "channel",
|
|
|
|
"type": "string",
|
|
|
|
"variadic": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "pubsub"
|
|
|
|
},
|
|
|
|
"PSUBSCRIBE": {
|
|
|
|
"summary": "Subscribes the client to the given patterns",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern",
|
|
|
|
"variadic": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "pubsub"
|
|
|
|
},
|
2016-12-29 17:53:01 +03:00
|
|
|
"PDEL": {
|
|
|
|
"summary": "Removes all objects matching a pattern",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "pattern",
|
|
|
|
"type": "pattern"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "keys"
|
2016-12-29 21:54:35 +03:00
|
|
|
},
|
|
|
|
"JGET": {
|
|
|
|
"summary": "Get a value from a JSON document",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "path",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"command": "RAW",
|
|
|
|
"name": [],
|
|
|
|
"type": [],
|
|
|
|
"optional": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "keys"
|
|
|
|
},
|
|
|
|
"JSET": {
|
|
|
|
"summary": "Set a value in a JSON document",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "path",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "value",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": [],
|
2018-09-01 18:06:05 +03:00
|
|
|
"optional": true,
|
2018-09-01 18:11:10 +03:00
|
|
|
"enumargs": [
|
2018-09-01 18:06:05 +03:00
|
|
|
{
|
|
|
|
"name": "RAW"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "STR"
|
|
|
|
}
|
|
|
|
]
|
2016-12-29 21:54:35 +03:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "keys"
|
|
|
|
},
|
|
|
|
"JDEL": {
|
|
|
|
"summary": "Delete a value from a JSON document",
|
|
|
|
"complexity": "O(1)",
|
|
|
|
"arguments":[
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "id",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "path",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"group": "keys"
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
},
|
|
|
|
"EVAL":{
|
|
|
|
"summary": "Evaluates a Lua script",
|
2018-12-29 02:00:13 +03:00
|
|
|
"complexity": "Depends on the evaluated script",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "script",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "numkeys",
|
|
|
|
"type": "integer"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "arg",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"EVALSHA":{
|
|
|
|
"summary": "Evaluates a Lua script cached on the server by its SHA1 digest",
|
2018-12-29 02:00:13 +03:00
|
|
|
"complexity": "Depends on the evaluated script",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "sha1",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "numkeys",
|
|
|
|
"type": "integer"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "arg",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"EVALRO":{
|
|
|
|
"summary": "Evaluates a read-only Lua script",
|
2018-12-29 02:00:13 +03:00
|
|
|
"complexity": "Depends on the evaluated script",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "script",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "numkeys",
|
|
|
|
"type": "integer"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "arg",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"EVALROSHA":{
|
2017-10-06 01:03:50 +03:00
|
|
|
"summary": "Evaluates a read-only Lua script cached on the server by its SHA1 digest",
|
2018-12-29 02:00:13 +03:00
|
|
|
"complexity": "Depends on the evaluated script",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "script",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "numkeys",
|
|
|
|
"type": "integer"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "arg",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"EVALNA":{
|
|
|
|
"summary": "Evaluates a Lua script in a non-atomic fashion",
|
2018-12-29 02:00:13 +03:00
|
|
|
"complexity": "Depends on the evaluated script",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "script",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "numkeys",
|
|
|
|
"type": "integer"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "arg",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"EVALNASHA":{
|
|
|
|
"summary": "Evaluates, in a non-atomic fashion, a Lua script cached on the server by its SHA1 digest",
|
2018-12-29 02:00:13 +03:00
|
|
|
"complexity": "Depends on the evaluated script",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "sha1",
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "numkeys",
|
|
|
|
"type": "integer"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "key",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "arg",
|
|
|
|
"type": "string",
|
|
|
|
"optional": true,
|
|
|
|
"multiple": true
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"SCRIPT EXISTS":{
|
2017-10-06 01:03:50 +03:00
|
|
|
"summary": "Returns information about the existence of the scripts in server cache",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"complexity": "O(N) where N is the number of provided sha1 arguments",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "sha1",
|
|
|
|
"type": "string",
|
|
|
|
"multiple": true
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"SCRIPT LOAD":{
|
|
|
|
"summary": "Loads the compiled version of a script into the server cache, without executing",
|
|
|
|
"complexity": "O(N) where N is the number of bytes in the script",
|
|
|
|
"arguments": [
|
|
|
|
{
|
|
|
|
"name": "script",
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
],
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
|
|
|
},
|
|
|
|
"SCRIPT FLUSH":{
|
|
|
|
"summary": "Flushes the server cache of Lua scripts",
|
|
|
|
"complexity": "O(1)",
|
2017-10-06 00:13:02 +03:00
|
|
|
"since": "1.10.0",
|
Lua scripting feature. (#224)
* Start on lua scripting
* Implement evalsha, script load, script exists, and script flush
* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.
* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.
* First stab at tile38 call from lua
* Change tile38 into tile38.call in Lua
* Property return errors from scripts
* Minor refactoring. No locking on script run
* Cleanup/refactoring
* Create a pool of 5 lua states, allow for more as needed. Refactor.
* Use safe map for scripts. Add a limit for max number of lua states. Refactor.
* Refactor
* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts
* More tests for scripts
* Properly escape newlines in lua-produced errors
* Better test for readonly failure
* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.
* Add pcall test. Change writeErr to work with string argument
* Make sure eval/evalsha never attempt to write AOF
* Add eval-set and eval-get to benchmarks
* Fix eval benchmark tests, add more
* Improve benchmarks
* Optimizations and refactoring.
* Add lua memtest
* Typo
* Add dependency
* golint fixes
* gofmt fixes
* Add scripting commands to the core/commands.json
* Use ARGV for args inside lua
2017-10-05 18:20:40 +03:00
|
|
|
"group": "scripting"
|
2016-03-05 02:08:16 +03:00
|
|
|
}
|
2016-07-10 23:23:50 +03:00
|
|
|
}
|