redis高级用法:geo位置相关信息

三种特殊数据类型

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

    1. “116.39999896287918091”
    2. “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

  1. “chongqing”
  2. “xian”
  3. “shenzhen”
  4. “hangzhou”

##############################

Geohash:返回两个位置距离的哈希编码字符串

geo底层实现就是zset,我们可以使用zset命令来操作geo。

上一篇:2021-2027中国企业 (B2B) 电信市场调研报告


下一篇:callable与runable区别?switch char ?sql只查是否存在,sql复制表 ?反射 ? spring mvc 和spring 上下文区别?