redis日常使用之geo

参考网址

  • redis命令
  • php操作redis

环境要求

  • 首先确保已经安装redis 并且已经启动

  • 确保PHP已经安装redis扩展

    php -m | grep redis


redis相关命令

  • GEOADD
  • GEODIST
  • GEORADIUS
  • GEORADIUSBYMEMBER
  • GEOHASH

GEOADD

命令详解
1.向一个geo类型的有序集合中添加数据  
2.可以传递多个参数 同时添加
3.经纬度限制
    有效的经度介于 -180 度至 180 度之间
    有效的纬度介于 -85.05112878 度至 85.05112878 度之间
2.返回成功添加到键中的空间元素 不包含已经存在但是更新的元素  

注意:
1.必须按照x,y格式 经度在前 纬度灾后  

redis命令行使用

  • 插入数据

geoadd myplace 116.580799 39.929301 me 116.580691 39.929007 you 116.58101 39.928931 other


php中调用

// 实例化redis对象
$redis = new \Redis();

// 链接redis 本机host地址 默认端口号
$redis->connect('127.0.0.1', 6379);

// 插入数据
$redis->geoAdd(
    'myplace', // 键值
    116.580799, 39.929301, 'me', // 第一个元素的经纬度 以及对应名称
    116.580691,39.929007, 'you',
    116.58101, 39.928931, 'other',
);

GEOPOS

命令:GEOPOS key member [member …]

命令详解:

1.返回一个键中给定元素的位置
2.参数可以传递多个 
3.返回参数每一项都由两个元素组成 第一个元素为经度 第二个元素为纬度
4.如果给定元素不存在 返回nil  

命令使用:

geopos myplace me you other  

PHP中使用

// 实例化redis对象
$redis = new \Redis();

// 链接redis 本机host地址 默认端口号
$redis->connect('127.0.0.1', 6379);

// 获取数据
$redis->geoPos(
    'myplace', // 键值
    'me', // 元素名称
    'you',
    'other',
);

GEODIST

GEORADIUS

GEORADIUSBYMEMBER

GEOHASH

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理