前言:
目前看官们对“php附近的人”大概比较关怀,小伙伴们都需要了解一些“php附近的人”的相关知识。那么小编在网摘上汇集了一些关于“php附近的人””的相关文章,希望姐妹们能喜欢,咱们一起来了解一下吧!利用 redis 实现附近的人功能,主要使用的是 redis 的 geo 数据类型,需要注意的是 redis 的版本。
软件和环境
centOS7, Redis4, phpredis3.1.4, PHP7
PHP的扩展我使用的是 phpredis ,如果你使用的是 predis 的话,请自行查找 api 文档,基本操作方法相似。
连接redis
$redis = new Redis();$redis->connect('127.0.0.1', 6379);// 如果有密码的话,使用 auth记录用户定位信息
我这里主要用 user:{id} 来做标记记录坐标信息
$redis->geoAdd("users", 116.365, 39.976, "user:1");$redis->geoAdd("users", 116.366, 39.975, "user:2");$redis->geoAdd("users", 116.364, 39.977, "user:3");搜索附近的人
使用自己的坐标来搜索周边固定位置的用户
// 搜索附近 5km 的用户,并且返回距离$options = ['WITHDIST'];$lists = $redis->geoRadius('users', 116.36, 39.96, 5, 'km', $options);获取用户列表
根据上述获取的列表,可以将其进行分页展示。具体可以找 phpredis 文档 阅读详情。
我这里只是讲解了一个大概的思路,在具体的业务逻辑中,做具体的处理。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #php附近的人