最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis之GEO存儲(chǔ)地理位置信息的使用

 更新時(shí)間:2021年10月20日 10:55:16   作者:空城1995  
在外賣軟件中的附近的美食店鋪、外賣小哥的距離,打車軟件附近的車輛,交友軟件中附近的小姐姐。我們都可以利用redis的GEO地理位置計(jì)算得出。本文就來詳細(xì)的介紹一下

在外賣軟件中的附近的美食店鋪、外賣小哥的距離,打車軟件附近的車輛,交友軟件中附近的小姐姐。我們都可以利用redis的GEO地理位置計(jì)算得出。

1、Redis 的 Geo 是在 3.2 版本才有的

2、使用 geohash 保存地理位置的坐標(biāo)

3、使用有序集合(zset)保存地理位置的集合

常用API

命令 描述
geoadd 增加某個(gè)地理位置的坐標(biāo)
geopos 獲取某個(gè)地理位置的坐標(biāo)
geodist 獲取某個(gè)地理位置的坐標(biāo)
georadius 根據(jù)給定地理位置坐標(biāo)獲取指定范圍內(nèi)的地理位置集合
georadiusbymember 根據(jù)給定地理位置獲取指定范圍內(nèi)的地理位置集合
geohash 獲取某個(gè)地理位置的 geohash 值

geoadd

API:geo key longitude latitude member [longitude latitude member ..]

功能:增加地理位置信息

演示:

127.0.0.1:6379> geoadd cities:locations 116.28 39.55 beijing
(integer) 1
127.0.0.1:6379> geoadd cities:locations 116.28 39.55 beijing
(integer) 0
127.0.0.1:6379> geoadd cities:locations 117.12 39.08 tianjin
(integer) 1
127.0.0.1:6379> geoadd cities:locations 114.29 38.02 shijiazhuang 118.01 39.38 tangshan 115.29 38.51 baoding
(integer) 3

geopos

API:geopos key member [member]

功能:增加地理位置信息

演示:

127.0.0.1:6379>  geopos cities:locations beijing
1) 1) "116.28000229597091675"
   2) "39.5500007245470826"
127.0.0.1:6379>  geopos cities:locations beijing tianjin
1) 1) "116.28000229597091675"
   2) "39.5500007245470826"
2) 1) "117.12000042200088501"
   2) "39.0800000535766543"

geodist

API:geodsit key member member1 member2

功能:獲取兩個(gè)地理位置的距離

#unit:m(米)、km(千米)、mi(英里)、ft(尺)

演示:

127.0.0.1:6379> geodist cities:locations beijing tianjin km
"89.2061"

georadiusbymember

API:georadiusbymember key member raidusm|km|ft|mi [withcoord][withdist][withhash][COUNT count][asc|desc][store key][storedist key]

功能:獲取兩個(gè)地理位置的距離

參數(shù):

  • withcoord:返回結(jié)果中包含經(jīng)緯度
  • withdist:返回結(jié)果中包含距離中心節(jié)點(diǎn)位置
  • withhash:返回結(jié)果中包含geohash
  • COUNT count:指定返回結(jié)果的數(shù)量
  • asc|desc:返回結(jié)果按照距離中心節(jié)點(diǎn)距離做升序或者倒序排列
  • store key:將返回結(jié)果的地理位置信息保存到制定key
  • storedist key:將返回結(jié)果距離中心節(jié)點(diǎn)的距離保存到指定鍵

演示:

查詢距離北京550千米以內(nèi)的所有城市,并按距離升序排列

127.0.0.1:6379> georadiusbymember cities:locations beijing 550 km  withdist asc
1) 1) "beijing"
   2) "0.0000"
2) 1) "tianjin"
   2) "89.2061"
3) 1) "baoding"
   2) "143.8646"
4) 1) "tangshan"
   2) "149.7479"
5) 1) "shijiazhuang"
   2) "242.3263"

geohash

API:geopos key member [member]

功能:獲取某個(gè)地方的哈希值

演示:

127.0.0.1:6379> geohash cities:locations beijing
1) "wx48ypbe2q0"

到此這篇關(guān)于Redis之GEO存儲(chǔ)地理位置信息的使用的文章就介紹到這了,更多相關(guān)Redis GEO存儲(chǔ)地理位置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

进贤县| 屯留县| 汝州市| 惠安县| 十堰市| 邵武市| 霍林郭勒市| 车险| 汨罗市| 荣成市| 迁西县| 嘉峪关市| 玛沁县| 沧州市| 建宁县| 龙岩市| 荥阳市| 兴海县| 和静县| 旬阳县| 南安市| 望江县| 梨树县| 阿勒泰市| 沙雅县| 长寿区| 辽源市| 越西县| 远安县| 济宁市| 和林格尔县| 弥勒县| 达拉特旗| 定安县| 阜阳市| 兴宁市| 宜兴市| 沙洋县| 根河市| 岳西县| 赣榆县|