新聞中心
Redis距離運算用于計算兩個點之間的距離,其中一個點的經(jīng)緯度坐標和另一個點的經(jīng)緯度坐標組成一個二元組。Redis是一款流行的鍵值存儲系統(tǒng),它可以用于存儲和檢索二元組。本文將介紹如何使用Redis實現(xiàn)距離運算。

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)景東免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
我們需要存儲每一個點的經(jīng)緯度坐標到Redis數(shù)據(jù)庫中,為此我們需要一個存儲數(shù)據(jù)的鍵。比如:
var KEY="location";
redis.hSet(key, 'point1', '36.088866, 117.496322');//坐標間使用“,”號隔開
redis.hSet(key, 'point2', '39.003352, 112.091867');
接下來,我們使用“GEOADD”命令將坐標寫入到Redis的GEO空間數(shù)據(jù)中,其語法如下:
GEOADD key longitude latitude member
使用以下語句將前述存儲的經(jīng)緯度坐標添加到GEO中:
redis.geoAdd(key, Bdu's Location[117.496322, 36.088866], 'point1');
redis.geoAdd(key, Bdu's Location[112.091867, 38.003352], 'point2');
使用“GEODIST”命令計算兩個點之間的距離,該命令接受兩個參數(shù):起始點和目標點,其語法如下:
GEODIST key member1 member2 [unit]
使用以下語句計算point1和point2之間的距離:
const unit = 'm';
var dist = redis.geoDist(key, 'point1', 'point2', unit);
// dist的結(jié)果是用米數(shù)(m)表示的距離,可以使用多種單位來表示距離,比如km或者mi
以上就是使用Redis實現(xiàn)距離運算的步驟。我們可以用更簡便的方式實現(xiàn)距離運算,而不需要使用GEO命令,我們可以通過處理經(jīng)緯度坐標,計算出兩點間的距離。
Redis是一種計算距離運算的有效工具,它可以存儲并處理經(jīng)緯度坐標,并提供了一組GEO命令用于計算任何兩個點之間的距離。它的性能表現(xiàn)也非常出色,可以為我們的應(yīng)用程序提供更加優(yōu)秀的服務(wù)。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
文章標題:用Redis實現(xiàn)距離運算(redis距離運算)
分享鏈接:http://www.dlmjj.cn/article/ccsjpci.html


咨詢
建站咨詢
