「附近的人」功能需求很简单,就是以你为中心,找出指定范围内的其他用户.
不过在实现「附近的人」功能前,我们先了解下Redis 提供的geo功能,看看它能给我们提供哪些帮助....beijing tianjin
"108403.7082"
127.0.0.1:6379> geodist location beijing aaa km
(nil)
4. georadius: 查找指定坐标对应方圆范围内的所有地点位置...附近的人
了解了上述基本的API对实现「附近的人」功能来说应该是很简单了.
1. 用户上传自己经纬度坐标, 并使用geoadd命令存入指定key中
2....使用georadiusbymember命令,查找指定范围内的用户
3. 当用户下线或长时间不上报心跳信息时,利用rem命令删除其信息
4....为了减少redis的计算压力,可以将用户信息分散到不同的key中,比如按城市划分.
综上,你也可以轻松实现自己的「附近的人」功能了.