首页 > 数据库 >PHP REDIS GEO 经纬度

PHP REDIS GEO 经纬度

时间:2022-10-20 09:56:29浏览次数:48  
标签:city arr 天津 REDIS redis data 39.111515 PHP 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", "天津", "北京");

 

标签:city,arr,天津,REDIS,redis,data,39.111515,PHP,GEO
From: https://www.cnblogs.com/quan846951943/p/16808688.html

相关文章

  • Redis 设置密码
    描述本人图省事本机用的rediswindows版本的,其余配置内容一样。配置文件区别修改配置文件使用分两种情况当前redis不是服务启动的用:redis.windows.conf文件当前redis是以......
  • 通过c语言逆向学习php
    通过c语言逆向学习php静态语言:需要编译器编译之后,生成一个机器能识别的语言,动态语言:shell-->把shell命令或者控制语句写入到某文件中,然后直接执行1:c语言是一个强类型......
  • ctfshow web128(_()函数,php_gettext.dll)
     _()是一个函数_()==gettext()是gettext()的拓展函数,开启text扩展。需要php扩展目录下有php_gettext.dllget_defined_vars()函数get_defined_vars—返回由所有已定......
  • GeoServer加载Arcgis切片服务
    使用GeoServer中的GeoWebCache加载Arcgis切片服务下载安装GeoServer和GeoWebCache的下载安装都非常简单,这里选择“独立于平台的二进制版本”,即通常讲的免安装版。选择Geo......
  • Linux服务器下php网站解决故障常用方法
    1、查看nginx进程命令:ps-ef|grepnginx2、查看php进程命令:ps-aux|grepphp3、查看cpu、内存使用情况命令:top4、查看磁盘空间df-h5、查看当前目录的大小du-sh......
  • .netcore里使用StackExchange.Redis TimeOut 情况解决方法
    在用StackExchange.Redis这个组件时候,时不时会出现异常TimeOut解决方法如下,解决方法: 在Program的Main入口方法里添加一句话:200,200); 比如以下代码:publicclassProg......
  • 【转行测试开发-redis】(五)---使用redis的数据类型列表list
    昨天讲了使用java里maven配置redis来连接redis数据库,操作并获取数据库中的值.今天我们来说下另一个常用的数据类型---列表list  Redis列表是简单的字符串列表,按照插入顺......
  • PHP 文件写入和读取(必看篇)
    文章提纲:一.实现文件读取和写入的基本思路二.使用fopen方法打开文件三.文件读取和文件写入操作四.使用fclose方法关闭文件五.文件指针的移动六.Windows和UNIX下的回车和换行一.实现......
  • RedisGraph图形数据库多活设计方案
    目前CMDB使用RedisGraph存储各种关系映射数据,数据的重要性不言而喻,所以数据的防灾、高性能及高可用非常重要。目前现状RedisGraph是单节点运行,存在数据防灾、高可用、性能不......
  • Redis主从复制​
    Redis主从复制​概念:​主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower)。数据的复制是单向的,只能......