缓存基于位置的数据集群

时间:2013-10-29 19:39:26

标签: php mysql sql caching geolocation

如何从特定位置提供搜索结果,而无需一次又一次地查询数据库,从而拥有数百万条记录?

我们拥有一个包含latitudelongitude数十亿条记录的数据库。它每分钟都在增长。现在,我们需要将这些数据提供给我们的移动应用程序。所以我们计划在以下类别中展示这一点。

  1. 显示最新10个插入的结果:
    为此,我们使用一个表,当每个新记录到来时,我们将它插入到队列表中,如果它大于10,则删除最后一个值。
  2. 显示用户所在位置的最新10条结果:
    为此,我们需要每隔5分钟汇总数据并向本地用户显示,我们可以向该地区的所有用户提供相同的数据,持续5分钟。
  3. 现在,我需要帮助,

    1. 如何划分区域?例如,如果我以正方形的形式划分世界,那么我可以在接下来的5分钟内为每个正方形提供相同的数据。是否有任何算法使用地理位置划分相似模型中的区域,或者您认为任何其他模型更适合这种情况?

    2. 如何以及在何处缓存每个区域的内容,仅在接下来的5分钟内投放,并且需要使用新数据进行刷新。 DB本身是否存在任何缓存算法,或者是否存在其他任何技术?

      例如,如果我们有A区和A区。 B变为2个方格,如果来自“A”的用户请求数据,那么我们需要缓存结果并且需要以相同的结果提供服务而不向所有请求来自同一方格的下一个5分钟的用户查询数据库“A “之后需要刷新它。这样我就可以节省服务器带宽。但是怎么做呢?
      任何服务器缓存?临时表还是如何?
    3. 请指导我。或者,如果您认为有更好的方法,请告诉我。任何参考也非常欢迎。提前谢谢大家。

0 个答案:

没有答案