当前位置: 首页 > 面试题库 >

在Redis中存储地理空间数据的方法

能正青
2023-03-14
问题内容

我有一个MySQL表,该表由大约一百万个纬度和经度组成,每行都有一个主键值。

我想通过Geohashing或lat和lon排序集将此表迁移到Redis。

有人这样做吗?您用于存储和查询数据的方法是什么(例如,在Google Maps的纬度/经度范围内查询数据)。


问题答案:

是的,它已经完成了(使用geohashing …)

例如,您可以检查Geodis程序包后面的数据结构(来自Dvir Volk和朋友):

https://github.com/doat/geodis

Redis邮件列表中对此进行了一些讨论:

https://groups.google.com/d/topic/redis-db/Mw0lRzutnkE/discussion


https://groups.google.com/d/topic/redis-db/6M-aAPA-iXc/discussion

https://
groups.google.com/d/topic/redis-
db/Bps95jeRgr8/discussion



 类似资料:
  • 我将redis用于发布/订阅以及服务器端缓存。我的意思是,我的应用服务器将redis服务器作为一个进程运行(也可以作为缓存)。我有几个瘦客户端(运行redis client)以发布/订阅模式连接到此应用服务器。我想知道redis在哪里存储缓存数据?单独在服务器中,或者在客户端中也会有一个副本。如果有近100个Redis客户端通过发布/订阅通道连接到服务器,那么以这种方式使用Redis也是一个好主意

  • 问题内容: 我在AI项目上使用Redis。 这个想法是让多个环境模拟器在许多cpu内核上运行策略。模拟器将体验(状态/操作/奖励元组列表)写入Redis服务器(重播缓冲区)。然后,培训过程将经验作为数据集读取以生成新策略。将新策略部署到模拟器,删除先前运行的数据,然后继续该过程。 大部分经验都记录在“状态”中。通常将其表示为尺寸为80 x 80的大型numpy数组。模拟器会以cpu允许的最快速度生

  • 问题内容: 我有一些产品数据需要在Redis缓存中存储多个版本。数据是JSON序列化的。获取纯(基本)数据的过程非常昂贵,将其自定义为不同版本的过程也很昂贵,因此我想缓存所有版本以尽可能进行优化。假设自定义基于单个参数,我可以将该参数用作缓存键的一部分。 我计划用来检索产品数据的过程是这样的: 一切都很好,但是我现在正在尝试找出在基础数据源发生更改时使缓存数据无效的最佳方法。如果基本产品信息发生变

  • 我有一些需要在Redis缓存中存储多个版本的产品数据。数据是JSON序列化的。获取普通(基本)数据的过程是昂贵的,将其定制成不同版本的过程也是昂贵的,因此我希望缓存所有版本以尽可能优化。假设定制是基于一个参数的,我可以使用该参数作为缓存键的一部分。 我计划用于检索产品数据的过程如下所示: 所有这些工作都很好,但我现在正在尝试找出当底层数据源更改时使缓存数据无效的最佳方法。如果基本产品信息发生变化,

  • 问题内容: 如何在Rails 3中存储和处理网站用户的地理位置(经度和纬度),以便它检查是否在每个页面请求中我们已经在该用户的会话中保存了这些详细信息(如果我们正在不保存详细信息,那么我们应该从浏览器中请求用户的位置,然后将这些详细信息存储在会话中)? 问题答案: 根据您的要求,我会说您实际上并不需要ajax,因为大多数处理将使用JS(要求用户访问其位置,解析响应等)完成,因此我将使用JS设置一个

  • 我有一个存储在中,我也有一个方法来验证令牌是否正确,正如您在这段代码中看到的: 如果令牌我将返回null,否则继续验证。 有两个问题我不能理解: 为什么我刷新页面时丢失了本地存储的令牌 为什么返回false当是时,第一个console.log返回未定义的,但我的方法继续。