国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Redis】特殊數(shù)據(jù)類型 Geo (地理位置)

這篇具有很好參考價值的文章主要介紹了【Redis】特殊數(shù)據(jù)類型 Geo (地理位置)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Redis】特殊數(shù)據(jù)類型 Geo (地理位置),Redis,redis,緩存,服務(wù)器,數(shù)據(jù)庫

??前言

除了五中基本的數(shù)據(jù)類型外,Redis還支持兩種特殊的數(shù)據(jù)類型,第一種 Geo (地理位置):用于存儲地理位置相關(guān)的數(shù)據(jù),例如經(jīng)緯度、距離等。第二種 Stream (流):是一個高級的列表類型,支持對列表的批量操作,如添加多個元素、獲取多個元素等。

Redis GEO(Geo Redis)是一個用于存儲和操作地理空間數(shù)據(jù)的 Redis 模塊。它提供了一組命令,可以將地理位置數(shù)據(jù)存儲為 Redis 鍵值,并支持各種地理位置查詢和操作。

Redis GEO 可以在需要處理地理位置數(shù)據(jù)的場景中使用,例如近鄰查詢、地理位置路由、基于地理位置的服務(wù)等。使用 Redis GEO 可以高效地處理大量的地理位置數(shù)據(jù),并且可以與其他 Redis 數(shù)據(jù)類型(例如列表、哈希表)結(jié)合使用,以提供更復(fù)雜的地理位置服務(wù)。

??Geo (地理位置?關(guān)命令介紹)

Redis GEO 的常用命令:

  1. GEODEL:刪除給定位置上的元素。
  2. GEOADD:向給定位置添加元素。
  3. GEOPOS:獲取給定元素的經(jīng)緯度。
  4. GEORADIUS:半徑為 radius 的圓中第一個元素。
  5. GEORADIUSBYMEMBER:在距離給定元素 radius 距離的圓中查找元素。
  6. GEOHASH:獲取給定元素的哈希值。?
  7. GEODIST:獲取兩個元素之間的距離。

??Geo (地理位置 相關(guān)命令操作)

GEOADD (添加地理位置的坐標(biāo))

說明:

geoadd 用于存儲指定的地理空間位置,可以將一個或多個經(jīng)度(longitude)、緯度(latitude)、位置名稱(member)添加到指定的 key 中

語法:

GEOADD key longitude latitude member [longitude latitude member ...]
  1. key:要添加點的鍵值。
  2. longitude:要添加點的經(jīng)度。
  3. latitude:要添加點的緯度。
  4. member:要添加點的成員屬性,可以根據(jù)需要進行設(shè)置。

示例:

127.0.0.1:6379> GEOADD city 116.403039  39.915351 "beijing" 117.220164  39.095583 "tianjin"
(integer) 2
127.0.0.1:6379> GEODIST city beijing tianjin
"115025.3461"
127.0.0.1:6379> GEORADIUS city 116 39 1000 km
1) "tianjin"
2) "beijing"
127.0.0.1:6379> GEORADIUS city 116 39 200 km
1) "tianjin"
2) "beijing"
127.0.0.1:6379> GEORADIUS city 116 39 120 km
1) "tianjin"
2) "beijing"
127.0.0.1:6379>  GEORADIUS city 116 39 100 km
(empty list or set)
127.0.0.1:6379>

該命令(GEOADD city 116.403039 ?39.915351 "beijing" 117.220164 ?39.095583 "tianjin")將beijing和tianjin這兩個點添加到city 這個鍵值下,每個點都由它們的經(jīng)緯度坐標(biāo)和成員屬性"beijing"和"tianjin"組成。


GEOPOS (獲取地理位置的坐標(biāo))

說明:

GEOPOS命令用于獲取一個或多個點的經(jīng)緯度坐標(biāo)。

語法:

GEOPOS key member [member ...]
  1. key:要獲取點的鍵值。
  2. member:要獲取點的成員屬性,可以根據(jù)需要進行設(shè)置。

示例:

127.0.0.1:6379> GEOPOS city beijing tianjin nonexistent
1) 1) "116.40304058790206909"
   2) "39.91535036301187489"
2) 1) "117.22016483545303345"
   2) "39.09558351926427378"
3) (nil)
127.0.0.1:6379>

?該命令將返回beijing 和 tianjin這兩個點的經(jīng)緯度坐標(biāo)。


GEODIST?(計算兩個位置之間的距離)

說明:

GEODIST命令用于計算兩個給定位置之間的距離,以雙精度浮點數(shù)的形式返回。

語法:

GEODIST key member1 member2 [unit]
  1. key:可以是一個鍵值,但該參數(shù)不是必需的。
  2. member1:要計算距離的位置1的成員屬性。
  3. member2:要計算距離的位置2的成員屬性。
  4. unit:可以指定返回的距離單位,可以是m(米)、km(千米)、mi(英里)或ft(英尺)。

示例:

127.0.0.1:6379> GEODIST city beijing tianjin
"115025.3461"
127.0.0.1:6379> GEODIST city beijing tianjin m
"115025.3461"
127.0.0.1:6379> GEODIST city beijing tianjin km
"115.0253"
127.0.0.1:6379> GEODIST city beijing tianjin mi
"71.4736"
127.0.0.1:6379> GEODIST city beijing tianjin ft
"377379.7446"
127.0.0.1:6379>

?該命令將返回beijing 和 tianjin這兩個點之間的距離,默認(rèn)單位為米。


GEOHASH?(返回一個或多個位置對象的 geohash 值)

說明:

Redis GEO 使用 GEOHASH?來保存地理位置的坐標(biāo)。GEOHASH? 用于獲取一個或多個位置元素的 GEOHASH?值。

語法:

GEOHASH key member [member ...]
  1. key:可以是一個鍵值,但該參數(shù)不是必需的。
  2. member1:要計算距離的位置1的成員屬性。
  3. member2:要計算距離的位置2的成員屬性。

示例:

127.0.0.1:6379> GEOHASH city beijing tianjin
1) "wx4g0f65g20"
2) "wwgq7mjh7b0"
127.0.0.1:6379>

該命令將返回北京和天津這兩個點之間的距離。請注意,您需要提供正確的地理位置信息才能正確使用此命令。


GEORADIUS (根據(jù)用戶給定的經(jīng)緯度坐標(biāo)來獲取指定范圍內(nèi)的地理位置集合)

說明:

根據(jù)用戶給定的經(jīng)緯度坐標(biāo)來獲取指定范圍內(nèi)的地理位置集合。

語法:

GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC
  1. key:要查找的點的鍵值。
  2. longitude:要查找的點的經(jīng)度。
  3. latitude:要查找的點的緯度。
  4. radius:可以設(shè)置半徑的大小,后面需要指定單位,如m、km、ft或mi。
  5. [WITHCOORD]:如果需要,可以使用WITHCOORD選項來返回包含距離計算的點的經(jīng)緯度坐標(biāo)。
  6. [WITHDIST]:如果需要,可以使用WITHDIST選項來返回包含距離計算的點的距離。
  7. [WITHHASH]:如果需要,可以使用WITHHASH選項來返回包含距離計算的點的哈希值。
  8. [COUNT count]:如果需要,可以使用COUNT count選項來指定返回的距離計算的點的數(shù)量。
  9. [ASC]:如果需要,可以使用ASC選項來指定按距離升序排列返回的距離計算的點。

示例:

127.0.0.1:6379> GEOADD city 116.403039  39.915351 "beijing" 117.220164  39.095583 "tianjin"
(integer) 2
127.0.0.1:6379> GEORADIUS city 117 39 200 km WITHDIST
1) 1) "tianjin"
   2) "21.7878"
2) 1) "beijing"
   2) "113.9887"
127.0.0.1:6379> GEORADIUS city 117 39 200 km WITHCOORD
1) 1) "tianjin"
   2) 1) "117.22016483545303345"
      2) "39.09558351926427378"
2) 1) "beijing"
   2) 1) "116.40304058790206909"
      2) "39.91535036301187489"
127.0.0.1:6379> GEORADIUS city 117 39 200 km WITHDIST WITHCOORD
1) 1) "tianjin"
   2) "21.7878"
   3) 1) "117.22016483545303345"
      2) "39.09558351926427378"
2) 1) "beijing"
   2) "113.9887"
   3) 1) "116.40304058790206909"
      2) "39.91535036301187489"


GEORADIUSBYMEMBER (在距離給定元素 radius 距離的圓中查找元素)

說明:

GEORADIUSBYMEMBER命令用于計算給定成員屬性在指定半徑范圍內(nèi)的其他點的距離和坐標(biāo)。

語法:

GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DES
  1. key:要查找的點的鍵值。
  2. member:要查找的點的成員屬性。
  3. radius:可以設(shè)置半徑的大小,后面需要指定單位,如m、km、ft或mi。
  4. [WITHCOORD]:如果需要,可以使用WITHCOORD選項來返回包含距離計算的點的經(jīng)緯度坐標(biāo)。
  5. [WITHDIST]:如果需要,可以使用WITHDIST選項來返回包含距離計算的點的距離。
  6. [WITHHASH]:如果需要,可以使用WITHHASH選項來返回包含距離計算的點的哈希值。
  7. [COUNT count]:如果需要,可以使用COUNT count選項來指定返回的距離計算的點的數(shù)量。
  8. [ASC|DES:如果需要,可以使用ASC選項來指定按距離升序排列返回的距離計算的點,或者使用DES選項來指定按距離降序排列返回的距離計算的點。

示例:

127.0.0.1:6379> GEOADD city 116.403039  39.915351 "beijing" 117.220164  39.095583 "tianjin"
(integer) 2
127.0.0.1:6379> GEORADIUS city 116.403039 39.915351 500 km WITHDIST COUNT 10 ASC
1) 1) "beijing"
   2) "0.0002"
2) 1) "tianjin"
   2) "115.0255"

舉例:如命令(GEORADIUS city 116.403039 39.915351 500 km WITHDIST COUNT 10 ASC)根據(jù)GEORADIUS命令,計算距離北京市中心(經(jīng)度116.403039,緯度39.915351)200千米范圍內(nèi)其他點的距離,并按照距離升序排列返回最接近的10個點及其距離。

該命令將返回距離北京市中心(經(jīng)度116.403039,緯度39.915351)200千米范圍內(nèi)的其他點,并按照距離升序排列返回最接近的10個點及其距離。文章來源地址http://www.zghlxwxcb.cn/news/detail-550082.html


GEORADIUS 和?GEORADIUS 區(qū)別

  • GEORADIUS 以給定的經(jīng)緯度為中心, 返回鍵包含的位置元素當(dāng)中, 與中心的距離不超過給定最大距離的所有位置元素。
  • GEORADIUS 和 GEORADIUS 命令一樣, 都可以找出位于指定范圍內(nèi)的元素, 但是 GEORADIUS 的中心點是由給定的位置元素決定的, 而不是使用經(jīng)度和緯度來決定中心點。

到了這里,關(guān)于【Redis】特殊數(shù)據(jù)類型 Geo (地理位置)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • R語言【paleobioDB】——pbdb_collections_geo():從PBDB獲取根據(jù)地理位置信息篩選的采集號的基本信息

    Package? paleobioDB ?version 0.7.0 paleobioDB 包在2020年已經(jīng)停止更新,該包依賴PBDB v1 API。 可以選擇在Index of /src/contrib/Archive/paleobioDB (r-project.org)下載安裝包后,執(zhí)行本地安裝。 參數(shù)【...】 :可通過 API 調(diào)用的參數(shù)。所有可用參數(shù)詳見?PBDB Data Service: Single fossil collection。 根據(jù)參數(shù)發(fā)

    2024年01月22日
    瀏覽(20)
  • Redis Geo:掌握地理空間數(shù)據(jù)的藝術(shù)

    Redis Geo:掌握地理空間數(shù)據(jù)的藝術(shù)

    歡迎來到我的博客,代碼的世界里,每一行都是一個故事 在移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的時代,地理位置數(shù)據(jù)無處不在。從導(dǎo)航和配送到社交網(wǎng)絡(luò)和廣告,地理位置信息正在重新定義我們與世界的互動方式。但是,處理和分析這些大量的地理空間數(shù)據(jù)絕非易事。這時,Redis Geo應(yīng)運而

    2024年02月02日
    瀏覽(21)
  • 地理空間分析12——地理位置數(shù)據(jù)隱私與安全

    在數(shù)字化時代,地理位置數(shù)據(jù)成為了眾多應(yīng)用程序和服務(wù)不可或缺的一部分。從導(dǎo)航應(yīng)用到社交媒體,從廣告定位到城市規(guī)劃,地理位置數(shù)據(jù)的應(yīng)用范圍廣泛。然而,這些數(shù)據(jù)的收集和使用也引發(fā)了廣泛的隱私和安全擔(dān)憂。本文將探討地理位置數(shù)據(jù)隱私的挑戰(zhàn)和重要性,并介

    2024年03月19日
    瀏覽(28)
  • 【Redis】GEO數(shù)據(jù)類型之附近的店鋪實現(xiàn)

    目錄 一、GEO 1、概念 2、相關(guān)命令 1.GEOADD 2.GEODIST 3.GEOHASH 4.GEOPOS 5.GEORADIUS 6.GEOSEARCH 7.GEOSEARCHSTORE 二、附近的店鋪 1、實現(xiàn)思路 2、代碼實現(xiàn) GEO全稱Geolocation,Redis種的一種數(shù)據(jù)結(jié)構(gòu)他代表地理坐標(biāo) 1.GEOADD 向redis中添加一個地理空間信息,其中包含經(jīng)度、維度、值(member) 2.GEODI

    2024年02月07日
    瀏覽(25)
  • 【控制篇 / 策略】(7.4) ? 01. IP地理位置數(shù)據(jù)庫和地理地址對象 ? FortiGate 防火墻

    【控制篇 / 策略】(7.4) ? 01. IP地理位置數(shù)據(jù)庫和地理地址對象 ? FortiGate 防火墻

    【簡介】在很多使用環(huán)境下,我們需要對指定國家的IP地址進行允許或禁止訪問操作,例如只允許訪問國內(nèi)IP。以前只能手動添加IP地址對象到地址組,繁雜且效率低下,F(xiàn)ortinet提供了基于地理位置的IP庫,就可以解決這個問題。 ? IP地理位置數(shù)據(jù)庫 FortiGuard IP地理位置數(shù)據(jù)庫被

    2024年01月23日
    瀏覽(39)
  • Redis入門-redis的五大數(shù)據(jù)類型+三種特殊的數(shù)據(jù)類型

    Redis入門-redis的五大數(shù)據(jù)類型+三種特殊的數(shù)據(jù)類型

    Redis有 五大基本類型 : 字符串(string) 、 哈希(hash) 、 列表(list) 、 集合(set) 和 有序集合(sorted set) 。 字符串(string)是Redis最基本的類型,可以存儲任意類型的數(shù)據(jù) ,如整數(shù)、浮點數(shù)、二進制數(shù)據(jù)等。字符串類型的操作包括設(shè)置鍵值對、獲取值、增減值等。

    2024年01月21日
    瀏覽(21)
  • 百度地圖采集經(jīng)緯度坐標(biāo)數(shù)據(jù)定位的javascript實戰(zhàn)開發(fā)(地理坐標(biāo)拾取系統(tǒng)、地址定位點選插件、實時定位、數(shù)據(jù)導(dǎo)入、地理編碼、位置糾偏)

    百度地圖采集經(jīng)緯度坐標(biāo)數(shù)據(jù)定位的javascript實戰(zhàn)開發(fā)(地理坐標(biāo)拾取系統(tǒng)、地址定位點選插件、實時定位、數(shù)據(jù)導(dǎo)入、地理編碼、位置糾偏)

    在百度地圖的標(biāo)注開發(fā)中,最為關(guān)鍵的操作就是經(jīng)緯度坐標(biāo)信息的拾取。在不同的應(yīng)用場景,坐標(biāo)的拾取方式不同?,F(xiàn)就常見的地理坐標(biāo)拾取系統(tǒng)、地址定位點選插件、手機端GPS實時定位、數(shù)據(jù)導(dǎo)入、地理編碼、位置糾偏等做全面的介紹。 傳送門:http://api.map.baidu.com/lbsapi/

    2024年02月01日
    瀏覽(50)
  • 【控制篇 / 策略】(7.4) ? 04. 修改IP地理位置數(shù)據(jù)庫 ? FortiGate 防火墻

    【控制篇 / 策略】(7.4) ? 04. 修改IP地理位置數(shù)據(jù)庫 ? FortiGate 防火墻

    【簡介】雖然通過FortiGuard服務(wù)可以更新IP地理位置數(shù)據(jù)庫,但是實際使用環(huán)境中,總會有部分IP地址不符合我們的愿景,這種情況下,可以通過修改IP地理位置數(shù)據(jù)庫來達到我們的目標(biāo)。 ? 更新IP地理位置數(shù)據(jù)庫 更新IP地理位置數(shù)據(jù)庫是FortiGuard服務(wù)的一部分,必須是在服務(wù)期

    2024年02月02日
    瀏覽(60)
  • Redis三種特殊數(shù)據(jù)類型

    Redis三種特殊數(shù)據(jù)類型

    geospatial 地理位置 Redis 地理空間數(shù)據(jù)類型簡介 Redis 地理空間索引允許您存儲坐標(biāo)并搜索它們。 此數(shù)據(jù)結(jié)構(gòu)可用于查找給定半徑或邊界框內(nèi)的鄰近點。 基本命令 GEOADD 將位置添加到給定的地理空間索引(請注意,使用此命令,經(jīng)度位于緯度之前)。 GEOSEARCH 返回具有給定半徑或

    2024年02月11日
    瀏覽(14)
  • Redis(二)—— 五大基本數(shù)據(jù)類型和三大特殊數(shù)據(jù)類型

    Redis(二)—— 五大基本數(shù)據(jù)類型和三大特殊數(shù)據(jù)類型

    1、常用命令 ?批量操作: redis可以定義對象? 方式(一) :以JSON格式(其實就是key-value格式)保存一個對象 方式(二) : 把對象的兩個屬性定義成兩個key 注意,如果采用第一種方式,那么無法單獨取出字段哦~ 2、使用場景 數(shù)字int類型的string作為計數(shù)器,比如統(tǒng)計文章的

    2024年02月15日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包