Redis geo:基于地理位置保存和搜索操作简单总结:
geoadd命令:将给定的位置(经度、维度)以某个名字(name)保存到key为xxx的zset集合中;
例如:将 上海 的地理位置(经度:121.473658,维度:31.230378)保存在key为city:location的zset中,命令如
下:
参数: key:zset集合的名称,
lon: 保存的位置的经度,
lat : 保存的位置的维度,
name : 保存的位置的名称
geoadd city:location 116.427341 39.902842 北京,
geoadd city:location 121.473658 31.230378 上海,
geoadd city:location 113.264385 23.129112 ⼴州
geoadd city:location 114.058975 22.543754 深圳
geoadd city:location 120.209947 30.245853 杭州
geoadd city:location 114.305215 30.592935 武汉
georadius命令:以给定的的地理位置(经度、维度)搜索位置在当前给定位置为中⼼,半径为给定的radius范围
内的所有位置集合;
备注: 类似于sql中的范围查询
例如:以陆家嘴的位置(经度:121.5025,维度:31.237015)为中⼼,搜索半径radius为5km,返回key为
city:location的zset中所有在搜索范围内的地理位置信息,
参数:key:zset集合的名称,
lon:中⼼位置经度
lat:中⼼位置维度,
radius:搜索半径,
km|m等:搜索半径的单位,