Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
FREEDOM251

Freedom251 › Blog › bases de datos

Cómo indexar lugares y buscar puntos cercanos con Redis Geo

By Freedom251 Team · · 4 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Redis Geo permite indexar ubicaciones y buscar puntos dentro de un radio o rectángulo con GEOSEARCH. Un pipeline puede reducir viajes de ida y vuelta cuando se envían varios comandos, pero no garantiza consultas en microsegundos: el tiempo depende de la búsqueda, los datos, la carga y la red. Además, no se puede dar una receta específica para “wpipe” sin saber qué herramienta o flujo designa ese nombre.

Qué se puede hacer con Redis Geo

Redis almacena datos geoespaciales en un sorted set y codifica longitud y latitud mediante bits intercalados en un geohash. Para añadir ubicaciones se usa GEOADD; para buscar puntos cercanos, GEOSEARCH. La referencia oficial de Redis geospatial explica este modelo.

As an Amazon Associate I earn from qualifying purchases.

GEOSEARCH está disponible desde Redis Open Source 6.2.0. Redis recomienda usarlo en lugar de GEORADIUS y GEORADIUSBYMEMBER, comandos obsoletos. La búsqueda admite círculos o rectángulos, además de opciones para ordenar y devolver datos asociados a los resultados.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cómo indexar ubicaciones

  1. Elige una clave que agrupe los miembros que quieres consultar, por ejemplo bikes:rentable.
  2. Valida las coordenadas. Redis admite longitudes entre −180 y 180 grados y latitudes entre −85.05112878 y 85.05112878.
  3. Añade cada punto con GEOADD clave longitud latitud miembro. El orden importa: primero va la longitud y después la latitud.

Por ejemplo, la documentación de Redis muestra GEOADD bikes:rentable -122.27652 37.805186 station:1. Un comando puede incluir varios tríos de longitud, latitud y miembro. También admite las opciones NX, XX y CH; NX y XX son mutuamente excluyentes. Consulta la referencia de GEOADD para sus efectos exactos.

Cómo buscar ubicaciones cercanas

Usa GEOSEARCH con un punto de origen y define una forma de búsqueda: un radio para un círculo o dimensiones para un rectángulo. La sintaxis general es:

  • GEOSEARCH clave FROMLONLAT longitud latitud BYRADIUS radio unidad para un círculo.
  • GEOSEARCH clave FROMLONLAT longitud latitud BYBOX ancho alto unidad para un rectángulo.

Las unidades admitidas son M, KM, FT y MI. Puedes añadir ASC o DESC para ordenar, COUNT para limitar el número de resultados y WITHDIST, WITHCOORD o WITHHASH para solicitar distancia, coordenadas o hash.

Este ejemplo busca estaciones en un radio de cinco kilómetros y devuelve su distancia:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

GEOSEARCH bikes:rentable FROMLONLAT -122.2612767 37.7936847 BYRADIUS 5 km WITHDIST

Es un ejemplo de consulta documentado por Redis, no una medición de latencia. La sintaxis y las opciones se detallan en la referencia de GEOSEARCH.

Qué cambia —y qué no— al usar un pipeline

Si una aplicación envía varios comandos a Redis, un pipeline puede agruparlos y reducir los viajes de ida y vuelta (RTT). Esto evita pagar repetidamente la latencia de red por cada comando y puede aumentar las operaciones por segundo. Redis describe ese beneficio en su documentación de pipelining.

El pipeline no elimina el trabajo que requiere cada consulta, no cambia la complejidad de GEOSEARCH y no fija la duración de una búsqueda. El beneficio depende de la red, la carga, el tamaño del lote y los parámetros de las consultas. Tampoco es una instrucción específica de cliente: la fuente oficial no identifica una API para “wpipe”.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Qué significan las cifras de complejidad y latencia

La documentación actual de Redis describe GEOADD con una complejidad de O(log(N)) por elemento añadido. Para GEOSEARCH indica O(N+log(M)): en esa expresión, N es el número de elementos de la caja alineada a la cuadrícula que rodea la forma de búsqueda, y M es el número de elementos dentro de la forma. Son cotas de complejidad, no tiempos de respuesta garantizados.

En un benchmark publicado por Redis en 2023, una consulta GEOSEARCH específica, ejecutada con un cliente y sin pipeline, registró una latencia media con RTT de 93.598 ms en Redis 7.0.5 y de 73.046 ms en Redis 7.0.7, una reducción aproximada del 22 % en esa comparación. Redis presenta las condiciones y el caso en Speeding Up Geographic Commands in Redis 7. Esos resultados no predicen la latencia de otras versiones, redes, conjuntos de datos o parámetros.

Por tanto, “microsegundos” debe tratarse como un objetivo que habría que medir en la carga concreta, no como una promesa de Redis Geo. Las fuentes citadas no establecen una cifra general e independiente que demuestre que una configuración no especificada responda en microsegundos.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Cómo evaluar una configuración sin confundir resultados

Para saber si un pipeline mejora tu caso, compara las configuraciones bajo condiciones iguales y cambia una variable cada vez. Registra la latencia y el rendimiento por separado: más operaciones por segundo no implica necesariamente menor latencia para cada consulta.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Mantén la misma versión de Redis, los mismos datos y la misma distribución espacial.
  • Usa el mismo círculo o rectángulo, radio o dimensiones, ordenamiento y límite de resultados.
  • Conserva el mismo cliente, región de red y nivel de carga.
  • Compara comandos individuales con comandos agrupados en pipeline, sin atribuir al pipeline una mejora que provenga de otra diferencia.
  • Si evalúas las versiones 7.0.5 y 7.0.7, reproduce el mismo benchmark antes de relacionar tus resultados con aquella comparación publicada.

Qué falta para dar pasos propios de “wpipe”

“wpipe” no está definido en las fuentes oficiales consultadas: no se establece si es una biblioteca, un pipeline de shell, un servicio o un nombre interno. Por eso, no hay base para indicar instalación, configuración o código de cliente para esa herramienta. Con su nombre completo y versión se podría determinar qué sintaxis corresponde; mientras tanto, los comandos Redis anteriores describen la parte verificable del flujo, no una integración con “wpipe”.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

bases de datosGEOADDGEOSEARCHRedisRedis GEOrendimiento

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.