国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Redis - Redis中實現查找某個值的范圍

Redis中實現查找某個值的范圍

2019-10-25 16:44Redis技術網 Redis

這篇文章主要介紹了Redis中實現查找某個值的范圍,本文的題引來了Redis作者Salvatore Sanfilippo(@antirez)的回答,比較經典,需要的朋友可以參考下

本文來自Redis在Google Group上的一個問題,有一位同學發貼求助,說要解決如下的一個問題:他有一個IP范圍對應地址的列表,現在需要給出一個IP的情況下,迅速的查找到這個IP在哪個范圍,也就是要判斷此IP的所有地。這個問題引來了Redis作者Salvatore Sanfilippo(@antirez)的回答。解答如下:

例如有下面兩個范圍,10-20和30-40

復制代碼代碼如下:

A_start 10, A_end 20
B_start 30, B_end 40


我們將這兩個范圍的起始位置存在Redis的Sorted Sets數據結構中,基本范圍起始作為score,范圍名加start和end為其value值:

 

 

復制代碼代碼如下:

redis 127.0.0.1:6379> zadd ranges 10 A_start
(integer) 1
redis 127.0.0.1:6379> zadd ranges 20 A_end
(integer) 1
redis 127.0.0.1:6379> zadd ranges 30 B_start
(integer) 1
redis 127.0.0.1:6379> zadd ranges 40 B_end
(integer) 1

 

這樣數據在插入Sorted Sets后,相當于是將這些起始位置按順序排列好了。

現在我需要查找15這個值在哪一個范圍中,只需要進行如下的zrangbyscore查找:

復制代碼代碼如下:

redis 127.0.0.1:6379> zrangebyscore ranges (15 +inf LIMIT 0 1 
1) "A_end"


這個命令的意思是在Sorted Sets中查找大于15的第一個值。(+inf在Redis中表示正無窮大,15前面的括號表示>15而非>=15)

 

查找的結果是A_end,由于所有值是按順序排列的,所以可以判定15是在A_start到A_end區間上,也就是說15是在A這個范圍里。至此大功告成。

當然,如果你查找到的是一個start,比如咱們用25,執行下面的命令

復制代碼代碼如下:

redis 127.0.0.1:6379> zrangebyscore ranges (25 +inf LIMIT 0 1 
1) "B_start"


返回結果表明其下一個節點是一個start節點,也就是說25這個值不處在任何start和end之間,不屬于任何范圍。

 

當然,這個例子僅適用于類似上面的IP范圍查找的案例,因為這些值范圍之間沒有重合。如果是有重合的情況,這個問題本身也就變成了一個一對多的問題。好吧,如果真的是有重合的范圍,我們又當如何解決呢?歡迎讀者同學你來挑戰。

延伸 · 閱讀

精彩推薦
  • Redis詳解Redis復制原理

    詳解Redis復制原理

    與大多數db一樣,Redis也提供了復制機制,以滿足故障恢復和負載均衡等需求。復制也是Redis高可用的基礎,哨兵和集群都是建立在復制基礎上實現高可用的...

    李留廣10222021-08-09
  • RedisRedis如何實現數據庫讀寫分離詳解

    Redis如何實現數據庫讀寫分離詳解

    Redis的主從架構,能幫助我們實現讀多,寫少的情況,下面這篇文章主要給大家介紹了關于Redis如何實現數據庫讀寫分離的相關資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • Redisredis實現排行榜功能

    redis實現排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實現排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • RedisRedis的配置、啟動、操作和關閉方法

    Redis的配置、啟動、操作和關閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • RedisRedis全量復制與部分復制示例詳解

    Redis全量復制與部分復制示例詳解

    這篇文章主要給大家介紹了關于Redis全量復制與部分復制的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Redis爬蟲具有一定的參考學習...

    豆子先生5052019-11-27
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具...

    一線碼農5812019-11-18
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • RedisRedis 事務知識點相關總結

    Redis 事務知識點相關總結

    這篇文章主要介紹了Redis 事務相關總結,幫助大家更好的理解和學習使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
主站蜘蛛池模板: 午夜精品一区二区三区在线观看 | 国产精品久久久久久久久久久久久久久久 | 亚洲一区在线播放 | 久久久久久中文字幕 | 欧美精品在线一区 | 秋霞av国产精品一区 | 欧美一区二区三区在线观看 | 在线一区二区三区四区 | 久久久久999 | 亚洲国产精品成人va在线观看 | 中文字幕成人av | 国产精品99久久久久久久女警 | 色在线免费观看 | 国产人妖一区 | 日本一区二区高清视频 | 日韩欧美视频免费 | 成人一区二区在线 | 成人h视频 | 人一级毛片 | 精品一区久久 | 国产深夜视频在线观看 | 日韩在线精品视频 | 成年人黄色影院 | 168黄网 | 欧美精品一区在线 | 五月天婷婷免费视频 | 高清视频一区 | 日韩在线播放一区二区 | 日韩在线色| 羞羞的视频在线免费观看 | 一区二区三区在线播放 | 偷拍一区二区三区四区 | 欧美一区二区三区在线看 | 欧美精品成人一区二区在线 | 久久精品国产一区 | 欧美国产在线观看 | 免费裸体无遮挡黄网站免费看 | www.久久精品 | 亚洲综合色自拍一区 | 日韩理论在线 | 亚洲色图一区二区三区 |