【问题标题】:Can Redis georadius function query hash data typeRedis georadius函数可以查询hash数据类型吗
【发布时间】:2019-10-29 12:32:05
【问题描述】:

我有一个包含出租车哈希的现有 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() 查询“哈希”的语法?

【问题讨论】:

    标签: redis hashmap set geospatial


    【解决方案1】:

    GEORADIUS 仅适用于地理集(也称为排序集)。

    【讨论】:

    • 感谢@Itamar Haber 的回复。你说有一种方法可以对“哈希”进行空间最接近搜索?
    • 否,但您可以同时使用 Hash(用于存储有关出租车的信息)和 GeoSet(用于索引其位置)。
    猜你喜欢
    • 2020-04-22
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多