
GEOHASH / GEODIST / GEOPOS use zsetScore to get the score, in skiplist encoding, we use dictFind to get the score, which is O(1), same as ZSCORE command. It is not clear why these commands had O(Log(N)), and O(N) until now.
92 lines
2.5 KiB
JSON
92 lines
2.5 KiB
JSON
{
|
|
"GEODIST": {
|
|
"summary": "Returns the distance between two members of a geospatial index.",
|
|
"complexity": "O(1)",
|
|
"group": "geo",
|
|
"since": "3.2.0",
|
|
"arity": -4,
|
|
"function": "geodistCommand",
|
|
"command_flags": [
|
|
"READONLY"
|
|
],
|
|
"acl_categories": [
|
|
"GEO"
|
|
],
|
|
"key_specs": [
|
|
{
|
|
"flags": [
|
|
"RO",
|
|
"ACCESS"
|
|
],
|
|
"begin_search": {
|
|
"index": {
|
|
"pos": 1
|
|
}
|
|
},
|
|
"find_keys": {
|
|
"range": {
|
|
"lastkey": 0,
|
|
"step": 1,
|
|
"limit": 0
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"type": "key",
|
|
"key_spec_index": 0
|
|
},
|
|
{
|
|
"name": "member1",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "member2",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "unit",
|
|
"type": "oneof",
|
|
"optional": true,
|
|
"arguments": [
|
|
{
|
|
"name": "m",
|
|
"type": "pure-token",
|
|
"token": "m"
|
|
},
|
|
{
|
|
"name": "km",
|
|
"type": "pure-token",
|
|
"token": "km"
|
|
},
|
|
{
|
|
"name": "ft",
|
|
"type": "pure-token",
|
|
"token": "ft"
|
|
},
|
|
{
|
|
"name": "mi",
|
|
"type": "pure-token",
|
|
"token": "mi"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"reply_schema": {
|
|
"oneOf": [
|
|
{
|
|
"description": "one or both of elements are missing",
|
|
"type": "null"
|
|
},
|
|
{
|
|
"description": "distance as a double (represented as a string) in the specified units",
|
|
"type": "string",
|
|
"pattern": "^[0-9]*(.[0-9]*)?$"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|