亚洲激情中文字幕_精品日韩一区二区三区_国产黄大片_成人综合网站_精品久久av_中文字幕一区二区三区乱码在线

您現(xiàn)在的位置是:首頁 >學(xué)無止境 >用Redis實(shí)現(xiàn)“附近的人”功能網(wǎng)站首頁學(xué)無止境

用Redis實(shí)現(xiàn)“附近的人”功能

簡(jiǎn)介針對(duì)“附近的人”這一位置服務(wù)領(lǐng)域的應(yīng)用場(chǎng)景,常見的可使用PG、MySQL和MongoDB等多種DB的空間索引進(jìn)行實(shí)現(xiàn)。而Redis另辟蹊徑,結(jié)合其有序隊(duì)列zset以及geohash編碼,實(shí)現(xiàn)了空間搜索功能,且擁有極高的運(yùn)行效率。

自Redis 3.2開始,Redis基于geohash和有序集合提供了地理位置相關(guān)功能。 Redis Geo模塊包含了以下6個(gè)命令:

  • GEOADD: 將給定的位置對(duì)象(緯度、經(jīng)度、名字)添加到指定的key;

  • GEOPOS: 從key里面返回所有給定位置對(duì)象的位置(經(jīng)度和緯度);

  • GEODIST: 返回兩個(gè)給定位置之間的距離;

  • GEOHASH: 返回一個(gè)或多個(gè)位置對(duì)象的Geohash表示;

  • GEORADIUS: 以給定的經(jīng)緯度為中心,返回目標(biāo)集合中與中心的距離不超過給定最大距離的所有位置對(duì)象;

  • GEORADIUSBYMEMBER: 以給定的位置對(duì)象為中心,返回與其距離不超過給定最大距離的所有位置對(duì)象。

其中,組合使用GEOADD和GEORADIUS可實(shí)現(xiàn)“附近的人”中“增”和“查”的基本功能。

要實(shí)現(xiàn)微信中“附近的人”功能,可直接使用GEORADIUSBYMEMBER命令。

其中“給定的位置對(duì)象”即為用戶本人,搜索的對(duì)象為其他用戶。

不過本質(zhì)上,GEORADIUSBYMEMBER = GEOPOS + GEORADIUS,即先查找用戶位置再通過該位置搜索附近滿足位置相互距離條件的其他用戶對(duì)象。

GEOADD

GEOADD key 116.410377 39.93491 張三 [lon lat name ...]

將給定的位置對(duì)象(緯度、經(jīng)度、名字)添加到指定的key。

其中,key為集合名稱,name為該經(jīng)緯度所對(duì)應(yīng)的對(duì)象。

在實(shí)際運(yùn)用中,當(dāng)所需存儲(chǔ)的對(duì)象數(shù)量過多時(shí),可通過設(shè)置多key(如一個(gè)省一個(gè)key)的方式對(duì)對(duì)象集合變相做sharding,避免單集合數(shù)量過多。

GEORADIUS

GEORADIUS key lon lat radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [ASC|DESC] [COUNT count] [STORE key] [STORedisT key]

以給定的經(jīng)緯度為中心,返回目標(biāo)集合中與中心的距離不超過給定最大距離的所有位置對(duì)象。

范圍單位:m | km | ft | mi --> 米 | 千米 | 英尺 | 英里
額外參數(shù):

- WITHDIST:在返回位置對(duì)象的同時(shí),將位置對(duì)象與中心之間的距離也一并返回。距離的單位和用戶給定的范圍單位保持一致。

- WITHCOORD:將位置對(duì)象的經(jīng)度和維度也一并返回。

- WITHHASH:以 52 位有符號(hào)整數(shù)的形式,返回位置對(duì)象經(jīng)過原始 geohash 編碼的有序集合分值。

- ASC|DESC:從近到遠(yuǎn)返回位置對(duì)象元素 | 從遠(yuǎn)到近返回位置對(duì)象元素。

- COUNT count:選取前N個(gè)匹配位置對(duì)象元素。(不設(shè)置則返回所有元素)

- STORE key:將返回結(jié)果的地理位置信息保存到指定key。

- STORedisT key:將返回結(jié)果離中心點(diǎn)的距離保存到指定key。


作者:萬汨

簡(jiǎn)介:餓了么資深開發(fā)工程師。iOS,Go,Java 均有涉獵。目前主攻大數(shù)據(jù)開發(fā)。喜歡騎行、爬山。

編輯:陶家龍、孫淑娟

出處:餓了么物流技術(shù)團(tuán)隊(duì)

原文鏈接:https://juejin.im/post/5da40462f265da5baf410a11

夢(mèng)想加空間!平時(shí)喜歡研究各種技術(shù),目前在從事后端開發(fā)工作,熱愛生活、熱愛工作。
主站蜘蛛池模板: 国产乱色精品成人免费视频 | 91精品国产91久久久久久丝袜 | 国产1区在线观看 | 99热1| 精品久久久久久国产 | 久久久日韩av免费观看下载 | 久久久久久久久久亚洲精品 | 嗯~啊~弄嗯~啊h高潮视频 | 国产午夜小视频 | 精品一区二区三区中文字幕老牛 | 色人阁五月天 | 欧美精品一区二区性色 | 久草在线精品观看 | 久久精品国产99久久6动漫亮点 | 成年免费视频黄网站在线观看 | 黄污在线观看 | 久久9色 | 肉文女配h | 久久九九热re6这里有精品 | 激情免费视频 | 一级黄色淫片 | 免费国产网站 | 免费一级欧美在线观看视频 | 日本精品视频一区二区三区四区 | 国内精品久久久久久影视8 国产一区二区成人在线 | 性爱网站| 蜜桃网站免费 | 成人免费av在线播放 | 色视频91| 在线成人av观看 | 在线观看免费污视频 | 国产精选久久久 | 韩国美女一区 | 一区二区久久久久草草 | 国产精品一区在线看 | av在线看网站 | 999久久久久久 | 不卡中文一二三区 | 一级免费| 欧美性黄| 天天草夜夜 |