三大特殊数据类型结构,十分的少见但是开源项目中依然有它们的身影
Geospatial:地理位置
实现的功能:附近的人,城市与城市之前的距离计算
添加城市经纬度到key中,经纬度则是key的value值,在正常的开发过程中,这些数据是通过java导入即可,不需要手动添加
添加命令
geoadd
格式
geoadd key value【纬度 精度 城市名】
geoadd
[root@localhost redis]# ./bin/redis-cli -p 6379 客户端登录redis
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 117.55 34.85 zaozhuang 110.33 20.00 hainan 添加多个城市的经纬度,上海 枣庄 海南
(integer) 3
Geopos:查询添加key中的数据
127.0.0.1:6379> GEOPOS china:city beijing 查询一个城市,北京经纬度
1) 1) "116.39999896287918091"
2) "39.90000009167092543"
127.0.0.1:6379> GEOPOS china:city zaozhuang hainan 查询多个城市经纬度,枣庄海南
1) 1) "117.55000144243240356"
2) "34.8499990842851517"
2) 1) "110.32999902963638306"
2) "20.00000058910486445"
127.0.0.1:6379>
Geodis :可以查询两地的距离
127.0.0.1:6379> GEODIST china:city zaozhuang beijing km
查询枣庄到北京的直线距离单位为 km
"570.8001"