参考网址
- 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',
);