首页 > 解决方案 > Redis georadius函数可以查询hash数据类型吗

问题描述

我有一个现有的 Redis 数据库,其中包含出租车哈希。我想使用 redis georadius() 函数查询这些哈希,以找到半径 3 公里内最近的出租车。georadius() 可以处理散列数据类型吗?

我已经尝试过使用地理空间数据的 Redis Lab 最佳实践:https ://redislabs.com/redis-best-practices/indexing-patterns/geospatial/ 。我已经能够使用 redis georadius() 查询具有“zset”的数据。所以我了解如何使用该功能。

我可以通过 Redis 桌面管理器使用函数 hgetall() 出租车“哈希”。

HGETALL taxi:test
 1)  "mytaxi"
 2)  "1507737272 45.61155 -73.8404 free phone 2"
GEORADIUS taxi -73.608000 45.511885 1 km WITHDIST
>>

GEORADIUS taxi:29yqx6ataxi -73.608000 45.511885 1 km WITHDIST
>>

使用 redis georadius() 我没有得到任何结果。

我希望确认 redis georadius() 不支持“哈希”数据类型,或者我必须处理转换数据类型的操作,或者我混淆了使用 georaidus() 查询“哈希”的语法?

标签: redishashmapsetgeospatial

解决方案


GEORADIUS仅适用于地理集(又名排序集)。


推荐阅读