Prefer GEOSEARCH with FROMLONLAT and BYRADIUS in new code: GEOSEARCH <key> FROMLONLAT <longitude> <latitude> BYRADIUS <radius> (m | km | ft | mi).
Use GEORADIUS_RO to find members within a radius of a point. It is the read-only form of GEORADIUS.
It accepts the same query and the same WITHCOORD, WITHDIST, WITHHASH, COUNT, and sorting options, but it has no STORE or STOREDIST clause, so the server knows the call cannot write and can serve it on replicas and from read-only scripts.
GEOSEARCH is read-only as well and also supports rectangular areas.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
<key> | Yes | No | Redis key targeted by the command. |
<longitude> | Yes | No | Longitude in degrees, from -180 to 180. |
<latitude> | Yes | No | Latitude in degrees, from -85.05112878 to 85.05112878. |
<radius> | Yes | No | Search radius, in the unit given after it. |
(m | km | ft | mi) | Yes | No | Distance unit: m (meters), km (kilometers), ft (feet), or mi (miles). |
WITHCOORD | No | No | Also return the longitude and latitude of each match. |
WITHDIST | No | No | Also return the distance from the center, in the requested unit. |
WITHHASH | No | No | Also return the raw 52-bit geohash score of each match. |
COUNT <count> [ANY] | No | No | Return at most <count> matches. ANY returns as soon as enough matches are found, instead of sorting every match first. |
(ASC | DESC) | No | No | Sort the matches by distance from the center: ASC (nearest first) or DESC (farthest first). Unsorted when omitted. |
Response#
The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.
| Protocol | Reply |
|---|---|
| RESP2 | Array of bulk-string members or member-detail arrays |
| RESP3 | Array of bulk-string members or member-detail arrays |
Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.
Examples#
TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.
Redis CLI
@upstash/redis
This command is not supported yet in @upstash/redis.