ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
~~~ Geocoding 地理位置 //geoAdd:将给定的空间元素(纬度、经度、名字)添加到指定的键里面。 这些数据会以有序集合的形式被储存在键里面, 从而使得像 GEORADIUS 和 GEORADIUSBYMEMBER 这样的命令可以在之后通过位置查询取得这些元素 //geoAdd($key, $longitude(经度), $latitude(纬度), $name [, $longitude, $latitude, $member, ...]); $redis->del("myplaces"); $result = $redis->geoAdd( "myplaces", 37.773, -122.431, "San Francisco", -157.858, 21.315, "Honolulu" ); //geoHash(key,name1,name2,namen) 返回一个或多个位置元素的Geohash字符串 返回一个或多个元素组成的Geohash字符串数组 $hashes = $redis->geoHash("myplaces", "San Francisco", "Honolulu");//['87z9pyek3y0','8e8y6d5jps0'] //geoPos(key,name1,name2,namen):从键里面返回所有给定位置元素的位置(经度和纬度) 命令返回一个数组, 数组中的每个项都由两个元素(j经度,纬度)组成 $positions = $redis->geoPos("myplaces", "San Francisco", "Honolulu")//[[37.773, -122.431],[-157.858, 21.315]] //GeoDist(key,name1,name2 [, $unit='m']):返回两个给定位置之间的距离 unit包含m、km、mi(英里)、ft(英尺) $kilometers = $redis->geoPos("myplaces", "San Francisco", "Honolulu",'km')//168.2752 //geoRadius($key, $longitudee(经度), $latitude(纬度), $radius(半径), $unit [, Array $options]):以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大半径radius距离的所有位置元素 $redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi'); $options['count'] = 1; $redis->geoRadius("hawaii", -157.858, 21.306, 300, 'mi', $options); //geoRadiusByMember($key, $name, $radius, $units [, Array $options]):作用和 geoRadius一样只是原点是name决定而不是像geoRadius输入经度和纬度来决定 $redis->geoRadiusByMember("myplaces", "Honolulu", 300, 'mi'); ~~~