php redis geo 工具类
时间: 2023-07-25 08:05:21 浏览: 110
以下是一个简单的 PHP Redis Geo 工具类的示例,可以用来处理地理位置数据:
```php
class RedisGeo
{
private $redis;
private $key;
public function __construct($host, $port, $key)
{
$this->redis = new Redis();
$this->redis->connect($host, $port);
$this->key = $key;
}
public function add($latitude, $longitude, $member)
{
return $this->redis->geoadd($this->key, $longitude, $latitude, $member);
}
public function radius($latitude, $longitude, $radius, $unit = 'km', $withDistance = false)
{
if ($withDistance) {
return $this->redis->georadius($this->key, $longitude, $latitude, $radius, $unit, ['WITHDIST']);
} else {
return $this->redis->georadius($this->key, $longitude, $latitude, $radius, $unit);
}
}
public function distance($member1, $member2, $unit = 'km')
{
return $this->redis->geodist($this->key, $member1, $member2, $unit);
}
public function remove($member)
{
return $this->redis->zrem($this->key, $member);
}
}
```
这个示例中,`RedisGeo` 类包含了 Redis 的连接和一些基本的操作(添加、查询、删除地理位置数据)。你可以通过实例化这个类并调用其中的方法来使用 Redis 的 Geo 功能。
阅读全文