三种特殊数据类型
geospatial地理位置
朋友的定位,附近的人,打车距离计算,方圆几里的人
geoadd
###############################
#geoadd添加地理位置
#原则:两级无法直接添加,我们一般会先下载城市数据,直接通过程序一次性导入。
#参数:key 值(经度,纬度,名称)
127.0.0.1:6379> geoadd China:city 116.40 39.90 beijing
(integer) 1
127.0.0.1:6379> geoadd China:city 121.47 31.23 shanghai
(integer) 1
127.0.0.1:6379> geoadd China:city 106.50 29.53 chongqing
(integer) 1
127.0.0.1:6379> geoadd China:city 114.05 22.52 shenzhen
(integer) 1
127.0.0.1:6379> geoadd China:city 120.16 30.24 hangzhou
(integer) 1
127.0.0.1:6379> geoadd China:city 108.96 34.26 xian
(integer) 1
###############################
geopos:获取指定城市经纬度
127.0.0.1:6379> geopos China:city beijing
-
- “116.39999896287918091”
- “39.90000009167092543”
##############################
gedist:获取两个位置间的距离
127.0.0.1:6379> geodist China:city beijing shanghai km
“1067.3788”
##############################
georadius:已给定的经纬度为中心,找出一半径内的元素
127.0.0.1:6379> georadius China:city 110 30 1000 km
- “chongqing”
- “xian”
- “shenzhen”
- “hangzhou”
##############################
Geohash:返回两个位置距离的哈希编码字符串
geo底层实现就是zset,我们可以使用zset命令来操作geo。