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., 39., "天津",116., 39., "北京市"];
//$bool = $redis->geoAdd("city",...$arr);

//单个
$bool = $redis->geoAdd("city", 117., 39., "天津");

//获取地理位置的坐标。
$data = $redis->geoPos("city", "天津");

//删除
$data = $redis->zRem ("city", "天津");

//计算两个位置之间的距离。
$data = $redis->geoDist("city","天津", "北京","km");

//根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。
$data = $redis->geoRadius("city", 117., 39., 1000, "km", ['WITHDIST','ASC']);

//根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
$data = $redis->geoRadiusByMember("city", "天津", 200, "km", ['WITHCOORD', 'WITHDIST', 'ASC']);

//返回一个或多个位置对象的 geohash 值。
$data = $redis->geoHash("city", "天津", "北京");

标题名称:PHP REDIS GEO 经纬度
文章URL:http://bzwzjz.com/article/dsoihsd.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 外贸网站建设 移动手机网站制作 响应式网站建设 成都响应式网站建设 自适应网站建设 广安网站设计 成都网站建设公司 网站设计制作 成都营销网站建设 高端网站建设 成都网站建设 成都网站建设公司 手机网站制作 专业网站设计 成都品牌网站设计 成都网站建设公司 网站设计 成都定制网站建设 成都网站设计 企业网站设计 成都网站建设 网站建设公司