关于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文件中, ...
随机推荐
- 【MicroPython] 用 c 添加接口 -- 添加 module
[来源]https://www.eemaker.com/micropython-add-module.html
- [转帖]Oracle 23c 才支持 TLS1.3
Transport Layer Security 1.3 Protocol Now Supported in Oracle Database Starting with Oracle Database ...
- Python学习之十九_程序运行时间的验证
Python学习之十九_程序运行时间的验证 背景 最近一段时间比较忙. 而且还遇到了一个lua脚本优化redis访问的场景. 想着自己还在学习python(时断时续) 所以想借着这个场景,学习一下py ...
- [转帖]AHCI到NVMe,SSD的关键科技革命
https://baijiahao.baidu.com/s?id=1718020841628703656&wfr=spider&for=pc HDD和早期SSD大部分使用SATA接 ...
- [转贴]win10临时修改、永久cmd 编码格式的方法
https://www.jianshu.com/p/40a9fbaf1cac cmd 前言 有时候,运行一些命令行程序某些字符无法正常显示,常见的就是方块,或者是火星文字都是由于 cmd 程序的默 ...
- 【学到一个小技巧】context.WithValue 中的 key 可以是个空对象
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 从 netpoll 库看到这段代码: type connk ...
- 【JS 逆向百例】无限debugger绕过,某政民互动数据逆向
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:某政务服务 ...
- git push卡住了 git push writing object
解决方案: 执行命令:$ git config --global http.postBuffer 524288000 再次push 会卡在这里:POST git-receive-pack(892384 ...
- windows10卸载小娜
适用于2004版本往后的 win+x如图 输入如下代码 Get-AppxPackage-allusersMicrosoft.549981C3F5F10|Remove-AppxPackage 运行结束后 ...
- 最新力作,爱来自rand函数
AWCU47EF;D5F]ET[a8a9K6G5IRHB6RS\cD8YDC:AGN<Z@6ZI3ab8D3O3La7:Sc;5_B]BS5S6Q]baWGcTE94IX7cW=9F>BJ ...