PHP REDIS GEO 经纬度
本文是使用redis 代替数据库经纬度查询,由于数据库经纬度让数据库去做运算影响性能所以下面就介绍了用redis 去使用
redis 中提供了 geo类,使用就行了
$redis = new redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超过1秒放弃链接 //$arr = ['aa','bb']; //$redis->lPush('aaaaa', ...$arr); // -157.858, 21.306, "Honolulu", -156.331, 20.798, "Maui" //添加地理位置的坐标。 //批量 | 单个 //$arr = [117.224311, 39.111515, "天津",116.405285, 39.904989, "北京市"]; //$bool = $redis->geoAdd("city",...$arr); //单个 $bool = $redis->geoAdd("city", 117.224311, 39.111515, "天津"); //获取地理位置的坐标。 $data = $redis->geoPos("city", "天津"); //删除 $data = $redis->zRem ("city", "天津"); //计算两个位置之间的距离。 $data = $redis->geoDist("city","天津", "北京","km"); //根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。 $data = $redis->geoRadius("city", 117.224311, 39.111515, 1000, "km", ['WITHDIST','ASC']); //根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。 $data = $redis->geoRadiusByMember("city", "天津", 200, "km", ['WITHCOORD', 'WITHDIST', 'ASC']); //返回一个或多个位置对象的 geohash 值。 $data = $redis->geoHash("city", "天津", "北京");
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)