我有一个包含出租车哈希的现有 Redis 数据库。我想使用 redis georadius() 函数查询这些哈希值,以找到 3 公里半径内最近的出租车。 georadius() 可以处理散列数据类型吗?
我已尝试使用地理空间数据的 Redis 实验室最佳实践: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() 查询“散列”的语法?
最佳答案
GEORADIUS
仅在 Geo Sets(也称为 Sorted Sets)上运行。
关于redis - Redis georadius函数能否查询hash数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56605474/