File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -68,9 +68,14 @@ Redis的数据类型包括简单的键值数据类型String,集合类型(Lis
68
68
* Geo
69
69
* 位置服务
70
70
以叫车应用的车辆匹配场景为例,介绍下具体如何使用这两个命令。假设车辆 ID 是 33,经纬度位置是(116.034579,39.030452),我们可以用一个 GEO 集合保存所有车辆的经纬度,集合 key 是 cars: locations 。执行下面的这个命令,就可以把 ID 号为 33 的车辆的当前经纬度位置存入 GEO 集合中:
71
-
71
+ ```
72
72
GEOADD cars:locations 116.034579 39.030452 33
73
- 当用户想要寻找自己附近的网约车时,LBS 应用就可以使用 GEORADIUS 命令。例如,LBS 应用执行下面的命令时,Redis 会根据输入的用户的经纬度信息(116.054579,39.030452 ),查找以这个经纬度为 中心的 5 公里内的车辆信息,并返回给 LBS 应用。当然, 你可以修改“5”这个参数,来返回更大或更小范围内的车辆信息。另外,我们还可以进一步限定返回的车辆信息。比如,我们可以使用 ASC 选项,让返回 的车辆信息按照距离这个中心位置从近到远的方式来排序,以方便选择最近的车辆;还可以使用 COUNT 选项,指定返回的车辆信息的数量。毕竟,5 公里范围内的车辆可能有很多,如果返回全部信息,会占用比较多 的数据带宽,这个选项可以帮助控制返回的数据量,节省带宽。可以看到,使用 GEO 数据类型可以非常轻松地操作经纬度这种信息。
73
+ ```
74
+ 当用户想要寻找自己附近的网约车时,LBS 应用就可以使用 GEORADIUS 命令。例如,LBS 应用执行下面的命令时,Redis 会根据输入的用户的经纬度信息(116.054579,39.030452 ),查找以这个经纬度为 中心的 5 公里内的车辆信息,并返回给 LBS 应用。当然, 你可以修改“5”这个参数,来返回更大或更小范围内的车辆信息。
75
+ ```
76
+ GEORADIUS cars:locations 116.054579 39.030452 5 km ASC COUNT 10
77
+ ```
78
+ 另外,我们还可以进一步限定返回的车辆信息。比如,我们可以使用 ASC 选项,让返回 的车辆信息按照距离这个中心位置从近到远的方式来排序,以方便选择最近的车辆;还可以使用 COUNT 选项,指定返回的车辆信息的数量。毕竟,5 公里范围内的车辆可能有很多,如果返回全部信息,会占用比较多 的数据带宽,这个选项可以帮助控制返回的数据量,节省带宽。可以看到,使用 GEO 数据类型可以非常轻松地操作经纬度这种信息。
74
79
75
80
76
81
You can’t perform that action at this time.
0 commit comments