PHP操作redis使用geo

2021-09-25 00:19:09 字數 1709 閱讀 9624

<?php $redis = new redis(); $redis->connect('127.0.0.1', 6379, 60); $redis->auth(''); //新增成員的經緯度資訊 $redis->rawcommand('geoadd', 'citys', '116.40', '39.90', 'beijing'); $redis->rawcommand('geoadd', 'citys', '121.47', '31.23', 'shanghai'); $redis->rawcommand('geoadd', 'citys', '114.30', '30.60', 'wuhan'); echo '

';

//獲取兩個地理位置的距離,單位:m(公尺,預設), km(千公尺), mi(英里), ft(英呎)

var_dump($redis->rawcommand('geodist', 'citys', 'beijing', 'wuhan'));

var_dump($redis->rawcommand('geodist', 'citys', 'beijing', 'shanghai', 'km'));

//獲取成員的經緯度

var_dump($redis->rawcommand('geopos', 'citys', 'shanghai'));

//獲取成員的經緯度hash,geohash表示座標的一種方法,便於檢索和儲存

var_dump($redis->rawcommand('geohash', 'citys', 'shanghai', 'wuhan'));

//基於經緯度座標的範圍查詢

//查詢以經緯度為114,30為圓心,100千公尺範圍內的成員

var_dump($redis->rawcommand('georadius', 'citys', '114', '30', '100', 'km'));

//withcoord表示獲取成員經緯度

var_dump($redis->rawcommand('georadius', 'citys', '114', '30', '100', 'km', 'withcoord'));

//withdist表示獲取到圓心的距離

var_dump($redis->rawcommand('georadius', 'citys', '114', '30', '100', 'km', 'withdist'));

//withhash表示獲取成員經緯度hash值

var_dump($redis->rawcommand('georadius', 'citys', '114', '30', '100', 'km', 'withhash'));

//count 數量,表示限制獲取成員的數量

var_dump($redis->rawcommand('georadius', 'citys', '114', '30', '100', 'km', 'count', '3'));

// asc 根據圓心位置,從近到遠的返回元素

// desc 根據圓心位置,從遠到近的返回元素

var_dump($redis->rawcommand('georadius', 'citys', '114', '30', '100', 'km', 'asc'));

//基於成員位置範圍查詢

//查詢以武漢為圓心,100千公尺範圍內的成員

var_dump($redis->rawcommand('georadiusbymember', 'citys', 'wuhan', '100', 'km'));

redis特殊型別 GEO

redis目前已經到了3.2版本,3.2版本裡面新增的乙個功能就是對geo 地理位置 的支援 定位 附近的人 搖一搖等。127.0.0.1 6379 geoadd city 116.397128 39.916527 北京 116.23128 40.22077 上海 121.48941 31.4052...

php操作redis PHP 使用 Redis

php 使用 redis 安裝開始在 php 中使用 redis 前,我們需要確保已經安裝了 redis 服務及 php redis 驅動,且你的機器上能正常使用 php。php安裝redis擴充套件 wget cd phpredis 3.1.4 進入 phpredis 目錄 usr local p...

redis學習筆記之Geo

geoadd 相同城市時 會更新資料 並返回 0 geoadd cities locations 116.28 39.55 beijing 插入經度 緯度 成員 插入成功返回插入個數 geoadd cities locations 116.28 39.55 beijing 1 2 city1 2 2...