美文网首页
PHP 操作 Redis GeoHash 地理位置

PHP 操作 Redis GeoHash 地理位置

作者: 王宣成 | 来源:发表于2020-07-10 23:48 被阅读0次
<?php 

  //连接reids
  $redis = new Redis();
  $redis->connect('127.0.0.1', 6379);

  //增加地理位置
  $redis->rawCommand('geoadd','company','116.48105','39.996794','juejin');
  $redis->rawCommand('geoadd','company','116.514203','40.905409','ireader');
  $redis->rawCommand('geoadd','company','116.489033','40.007669','meituan');
  $redis->rawCommand('geoadd','company','116.562108','39.787602','jd');

  //删除地理位置
  //geo使用zset结构,使用zrem删除指令即可

  //计算距离
  $res = $redis->rawCommand('geodist','company','juejin','meituan','km');

  echo "<pre>";
  var_dump($res);
  echo '<br />';
 
  //获取元素地理位置
  $res = $redis->rawCommand('geopos','company','juejin');
  var_dump($res);
  echo '<br />';

  //范围20公里最多三个元素按距离正排
  $res = $redis->rawCommand('georadiusbymember','company','juejin','20','km','count','3','asc');
  var_dump($res);
  echo '<br />';

  //范围20公里最多三个元素按距离倒排
  $res = $redis->rawCommand('georadiusbymember','company','juejin','20','km','count','3','desc');
  var_dump($res);
  echo '<br />';

  //三个可选参数 withcoord withdist withhash 用来携带附加参数
  // withdist 显示距离
  $res = $redis->rawCommand('georadiusbymember','company','juejin','20','km','withcoord','withdist','withhash','count','3','desc');
  var_dump($res);
  echo '<br />';

  //附近元素
  $res = $redis->rawCommand('georadius','company','116.514202','39.905409','20','km','withdist','count','3','asc');
  var_dump($res);
  echo '<br />';

相关文章

网友评论

      本文标题:PHP 操作 Redis GeoHash 地理位置

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