美文网首页PHP程序员
php使用Redis的geo

php使用Redis的geo

作者: php转go | 来源:发表于2020-12-24 14:40 被阅读0次

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
现在Redis最新版已经是6.0.9了,应该没有人还在用低于redis3.2了吧

    public function index()
        {
            $redis = new \Redis();
            $redis->connect('127.0.0.1', 6379);
            $address = [
                [117.224311, 39.111515, "天津"],
                [113.401955, 23.130744, "广州"],
                [113.867652, 22.920035, "东莞"],
                [114.063402, 22.622936, "深圳"],
                [113.142882, 23.036539, "佛山"],
                [110.352331, 21.289926, "湛江"],
            ];
            foreach ($address as $value) {
                #添加地理位置的坐标
                $res = $redis->geoadd("city", $value[0], $value[1], $value[2]);
            }
            #geoadd也可以同时增加多个地理空间,需要同时添加多个时
            $redis->geoadd("city", 116.40378, 39.91544, "北京", 121.473913, 31.222965, "上海");   //成功则返回2
            $redis->geoadd("city", 116.40378, 39.91544, "北京", 121.473913, 31.222965, "上海", 110.352331, 21.289926, "湛江");   //成功则返回3

            #获取地理位置的坐标。
            print_r($redis->geopos("city", "广州"));
            #同时获得多个地理位置的坐标
            print_r($redis->geopos("city", "广州", "佛山"));

            #计算两个位置之间的距离。
            print_r($redis->geodist("city", "湛江", "广州", "km"));
            //时代tit的经纬度,附近1000公里内的地址,距离由近到远排序
            //第六个参数的数组中
            // WITHDIST : 返回距离中心点的距离。
            // WITHCOORD: 返回目标的经纬度。
            //WITHHASH:返回 52位 无符号整数的
            //COUNT:返回条数
            //ASC|DESC 正序排序|倒序排序
            $argc= ['WITHCOORD', 'WITHDIST', 'ASC', 'COUNT' => 10];
            $result = $redis->georadius("city", 113.407273, 23.126116, 1000, "km",$argc);
            print_r($result);
            //广州,附近200公里内的地址,距离由近到远排序
            $result = $redis->georadiusbymember("city", "广州", 200, "km",$argc);
            print_r($result);
            #返回有效的Geohash字符串
            $redis->geohash("city", "深圳", "广州");
        }

相关文章

  • php使用Redis的geo

    Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。现在...

  • Redis实现地理信息计算

    1 Redis的GEO Redis 在 3.2 版本以后增加了地理位置 GEO 模块,意味着我们可以使用 Redi...

  • 项目中Redis应用场景

    一、Redis GEO-实现附近的人 1.1 Redis GEO介绍 Redis GEO主要用于存储地理位置信息,...

  • PHP 使用 Redis

    PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务...

  • php配置使用redis

    说明:php使用redis需要1.安装redis2.php的redis扩展 1.redis的安装 2.安装php的...

  • php使用Redis简述

    安装Redis在 PHP 中使用 Redis 前,需确保已安装Redis服务和php redis驱动及扩展,安装 ...

  • redis内容扩展:一文看懂

    redis内容扩展 Pipeline 注意:使用Pipeline的操作是非原子操作 GEO GEOADD loca...

  • php 开启 redis 扩展以及应用

    php 使用 redis 主要有两步 一 。开启redis的服务 二。 添加php-redis.dll 扩展 开启...

  • php使用redis的GEO地理信息类型

    redis3.2中增中了对GEO类型的支持,该类型存储经纬度,提供了经纬设置,查询,范围查询,距离查询,经纬度ha...

  • Redis Geo数据结构

    1、Geo指令的基本用法 Redis提供的Geo指令只有6个,读者们瞬间就可以掌握。使用时,读者务必想到,它只是一...

网友评论

    本文标题:php使用Redis的geo

    本文链接:https://www.haomeiwen.com/subject/iyeynktx.html