关于php redis的geocoding函数
在php的redis扩展官方github上,文档的最下面的确存在geocoding的函数说明。但是笔者尝试调用geoAdd函数时,返回值一直为false。就纳闷了,是使用的姿势不对,还是存在其它问题?所以,笔者确认了本地的php扩展版本与redis-server的版本,均为5.0以上,版本无误 。接着,在代码中用method_exists确认了扩展的类中确实存在geoAdd函数,并且用redis-cli确认服务端也支持geoadd命令。至此,完全可以判断官网扩展中geo函数的确存在问题。
在这种情况下,geocoding函数对笔者相对重要,所以最后采用了rawCommand函数直接调用redis原始的命令,特此备忘:
$redis->del("citys");
//$result=$redis->geoAdd("myplaces", 116.40378, 39.91544);
$redis->rawCommand('geoadd', 'citys', '116.40', '39.90', 'beijing','121.47', '31.23', 'shanghai');
$redis->rawCommand('geoadd', 'citys', '114.30', '30.60', 'wuhan');
//$redis->rawCommand("zrem","citys","wuhan");
var_export($redis->rawCommand('geopos', 'citys', 'beijing'));
echo '<br />';
var_export($redis->rawCommand('geohash', 'citys', 'shanghai', 'wuhan'));
//查询以经纬度为114,30为圆心,100千米范围内的成员
echo '<br />georadius';
var_export($redis->rawCommand('georadius', 'citys', '114', '30', '1000', 'km'));
//WITHCOORD表示获取成员经纬度
echo '<br />';
var_export($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km', 'WITHCOORD'));
//WITHDIST表示获取到圆心的距离
echo '<br />';
var_export($redis->rawCommand('georadius', 'citys', '114', '30', '100', 'km', 'WITHDIST'));
//查询以武汉为圆心,100千米范围内的成员
echo '<br />';
var_export($redis->rawCommand('georadiusbymember', 'citys', 'wuhan', '100', 'km'));
笔者觉得奇怪,网上那么多文章,都是直接调用geocoding函数,还附上大段大段的使用说明。各位是真的调通了?还是天下文章一大抄?
关于php redis的geocoding函数的更多相关文章
- 由Redis的hGetAll函数所引发的一次服务宕机事件
昨晚通宵生产压测,终于算是将生产服务宕机的原因定位到了,心累.这篇博客,算作一个复盘和记录吧... 先来看看Redis的缓存淘汰算法思维导图: 说明:当实际占用的内存超过Redis配置的maxmemo ...
- redis php sort 函数
很多人把redis当成一种数据库,其实是利用redis来构造数据库的模型,有那种数据库的味道.但是在怎么构建还是key和value的关系.根真正的关系型数据库还是不一样的.效率高,不方便:方便的,效率 ...
- redis 列表(list)函数
列表(list)函数 lPush 命令/方法/函数 Description Adds the string value to the head (left) of the list. Creates ...
- redis 字符串(string)函数
字符串(string)函数 get 命令/方法/函数 Description Get the value related to the specified key 取得与指定的键值相关联的值 Para ...
- StackExchange.Redis学习笔记(三) 数据库及密码配置 GetServer函数
这一章主要写一些StackExchange.Redis的配置及不太经常用到的函数 数据库连接 下面是我的连接字符串,里面指定了地址,密码,及默认的数据库 Redis启动后默认会分成0-15个数据库,不 ...
- redis参考文档
本文为之前整理的关于redis的文档,放到博客上一份,也方便我以后查阅. redis简介 Redis是一个开源的.高性能的.基于键值对的缓存与存储系统, 通过提供多种键值数据类型来适应不同场景下的缓存 ...
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性. 安全性设置 设置客户端操作秘密 redis安装 ...
- Python操作redis
安装好吧,我承认我只会最简单的安装 sudo apt-get install Redis-server Python 支持包: (其实就一个文件,搞过来就能用) sudo apt-get instal ...
- Lua 与 Redis
Lua 与 Redis 标签: Java与NoSQL 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis - 案例-实现访问频率限制: 实现访问者 $ip 在一定的 ...
- Redis学习笔记-进阶
Redis持久化方案 redis有rdb和aof两种持久化方案 1)rdb方式 当符合一定条件时会自动将内存中的所有数据执行快照操作并存储到硬盘上 默认存储在redis根目录的dump.rdb文件中, ...
随机推荐
- 【TouchGFX 】使用 CubeMX 创建 TouchGFX 工程时 LCD 死活不显示
生成的代码死活无法让LCD显示,经两个晚上的分析验证是LTDC_CLK引脚速度设置为低速导致,经测试中速.高速.超高速都正常,真是冤,聊以此以示纪念
- ffmpeg 字幕解码
原文: https://blog.csdn.net/u011283226/article/details/102241233 [写在前面] 在前一篇,我已经讲过了读取外挂字幕并显示的方法:理解过滤图并 ...
- 达梦数据库varchar和nvarchar的验证
达梦数据库varchar和nvarchar的验证 测试SQL create tablespace zhaobsh datafile '/opt/dmdbms/data/DAMENG/zhaobsh.d ...
- [转帖]K8s Pod Command 与容器镜像 Cmd 启动优先级详解
https://cloud.tencent.com/developer/article/1638844 前言 创建 Pod 时,可以为其下的容器设置启动时要执行的命令及其参数.如果要设置命令,就填写在 ...
- [转帖]网站开启 IPv6 的三种方式
https://zhuanlan.zhihu.com/p/443835798 从传统二进制部署的 Nginx ,到云原生部署的 K8S.Istio,分别介绍网站开启 IPv6 的三种方式. 1.Ngi ...
- [转帖]如何用 30s 给面试官讲清楚什么是 Session-Cookie 认证
https://www.jianshu.com/p/e1121d4d7084 引言 由于 HTTP 协议是无状态的,完成操作关闭浏览器后,客户端和服务端的连接就断开了,所以我们必须要有一种机制来保证客 ...
- [转帖]jmeter实现分布式压测
分布式实现的前提条件: 1.master机器和奴隶机的jmeter要一致 a. jmeter版本要一致 b.jdk主要版本要一致,比如都是jdk1.8,后面的小版本不一样不影响 c.jmeter脚本中 ...
- [转帖]Cgroups资源限制
https://cloud.tencent.com/developer/article/2108816?areaSource=105001.13&traceId=QzVtWN5jGl8zeYZ ...
- zap自定义日志级别
简介 zap是有uber开发的一款日志库. zap提供了三个快速创建Logger方法: NewProduction: 以JSON格式记录Info级别及以上的标准错误日志 NewDevelopment: ...
- CreateProcess函数源码分析
CreateProcess函数源码分析 源码版本:Windows 2003 源码 源码阅读工具:Source Insight 函数功能分析 函数原型 BOOL CreateProcessA( ...