Redis 快要有 GEO(地理位置) 的支持了,目前还在beta,大家记得用
发布于 9 年前 作者 albin3 8831 次浏览 最后一次编辑是 8 年前 来自 分享

地理位置最常用的场景是 附近门店 功能

Nodejs主进程不适合做大量计算、排序,所以把这些计算放在db层是好事。

Mongodb支持地域信息索引,能完成这件事;传送门

Redis的还在beta,发布以后试试看!传送门

echo "战略性发帖…哈哈"
14 回复

又多了个工具。Redis 的地理查询应该比较快。

还有elasticsearch

现在可以使用 ioredis 配合 Redis 的 Unstable 版本在 Node.js 中调用 GEO 相关的命令。

@luinlee 大神来了…

@luinlee 能贴个例子嚒

@leapon 比如计算两个城市的距离:

var Redis = require('ioredis');
var redis = new Redis();
redis.geoadd('location', [116.3833, 39.9167, 'Beijing'], [120.1667, 30.2500, 'Hangzhou']);
redis.geodist('location', 'Beijing', 'Hangzhou', 'km', function (err, distance) {
  // 杭州距离北京 1128.6744848375886km
  console.log('杭州距离北京 ' + distance + 'km');
});

@luinlee 距离单位都包括了,不错

@luinlee 附近的人的例子怎样?

@captainblue2013 看了 估计可以用redis.georadius命令,详细再看看

标准的GeoJSON格式支持吗?

啥时候才能正式发布呢?

回到顶部