微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按时间对地理空间数据进行排序发布于Redis

如何解决按时间对地理空间数据进行排序发布于Redis

我正在尝试对从地半径中获取的一堆数据进行排序,以便根据发布数据的时间进行逆向排序。因此,如果我发布item1,ite3,item2,item4,并且它们都在georadius命令的范围内,则无论距离如何,都应返回item4,item2,item3和item1。如何使用redis的地理空间命令执行此操作?谢谢!

解决方法

首先,您需要保存每个项目的发布时间。例如,您可以为每个项目设置一个键-值对,其中键为项目名称,值为发布时间。

发布项目时,将其与地理信息一起添加到GEO结构中,并记录发布时间:

  1. GEOADD geo lng lat item1
  2. SET posttime:item1 timestamp-in-seconds

要进行搜索时,请执行以下步骤:

  1. GEORADIOUS命令与STORE选项一起使用可将结果保存到排序集中。让我们将排序后的集合命名为临时结果
  2. 使用SORT命令以发布时间对温度结果进行排序:SORT temp_result BY posttime:* DESC

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。