Redis使用sortedset緩存IP段數據
我們原來的業務中,有很多地方需要解析用戶IP的信息,剛開始是通過新浪、百度這些第三方的接口來解析IP信息,後來發現調用這些接口頻繁時會被禁用一小段時間。不得已只得將數據存到我們的數據庫中,表結構大致如下圖,大家一看應該就明白那些字段的意思。
查詢得SQL大致是:SELECT * FROM IPInfo WHERE IPIntStart<=IP地址轉int AND IPIntEnd>IP地址轉int,共45萬條數據,加上索引查詢效率還可以,能滿足日常業務查詢。
最近有一個數據清洗的任務,需要在日誌入庫的時候就要解析其IP信息並保存,這個時候使用數據庫查詢效率就太低了,我們準備將這些數據存到redis中。由於使用時必須進行範圍查詢,所以這裏的數據結構只能用sortedset了,使用IPIntStart作為score,而查詢時只需要查出IP小於等於sortedset中score的第一條數據即可。
redis查詢命令如下:
ZREVRANGEBYSCORE IpSet IP地址轉int值 0 LIMIT 0 1
Redis使用sortedset緩存IP段數據
相關推薦
Redis使用sortedset緩存IP段數據
數據庫查詢 地方 col sort mage span from image 數據 我們原來的業務中,有很多地方需要解析用戶IP的信息,剛開始是通過新浪、百度這些第三方的接口來解析IP信息,後來發現調用這些接口頻繁時會被禁用一小段時間。不得已只得將數據存到我們的數據
volley6--CacheDispatcher從緩存中獲取數據
splay nbsp anti without .post getc rri software req 源碼: 1 /* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 *
SpringAOP實現redis緩存和mysql數據庫同步
spring Aop @AfterReturning MySQL和Redis 數據同步 1、定義一個切面,使用AfterReturning通知,修改、刪除、新增等成功後更新緩存 a、修改時先改數據庫數據,修改成功後再同步到緩存中、 b、刪除時先刪除數據庫數據,刪除成功再清理緩存中的對應
詳細分析Memcached緩存與Mongodb數據庫的優點與作用
io瓶頸 緩存 語句 一分鐘 SQ 維護 靈活 出了 友好 http://www.mini188.com/showtopic-1604.aspx 本文詳細講下Memcached和Mongodb一些看法,以及結合應用有什麽好處,希望看到大家的意見和補充。 Memcache
業務邏輯:五、完成認證用戶的動態授權功能 六、完成Shiro整合Ehcache緩存權限數據
nbsp 數據 屬性 查詢 添加 系統 tro 系統管 核心 一、 完成認證用戶的動態授權功能 提示:根據當前認證用戶查詢數據庫,獲取其對應的權限,為其授權 操作步驟: 在realm的授權方法中通過使用principals對象獲取到當前登錄用戶 創建一個授權信息對象
IE瀏覽器下AJAX緩存問題導致數據不更新的解決辦法
bsp pan color span cache get 獲取 無法 並不會 利用ajax查詢數據,在谷歌瀏覽器下可以獲取到最新數據,而在IE中獲得是舊數據,無法獲得最新的數據,經查資料,才發現時IE緩存再作怪。 發現此ajax請求用的get方式,每次請求的URL一模一樣,
高並發架構系列:Redis緩存和MySQL數據一致性方案詳解
異步 中產 主從 推送 行業 全量 src 超時 最終 一、需求起因在高並發的業務場景下,數據庫大多數情況都是用戶並發訪問最薄弱的環節。所以,就需要使用redis做一個緩沖操作,讓請求先訪問到redis,而不是直接訪問MySQL等數據庫。這個業務場景,主要是解決讀數據從Re
python 基礎之變量存儲緩存機制與數據駐留小數據池
集合 分享圖片 font img 以及 默認 效率 com pytho 一:變量存儲的緩存機制 在同一文件(模塊)裏,變量存儲的緩存機制 (僅對python3.x版本負責),那麽 --對於Number (int bool float complex) 1.對於整型而言
mysql對數據庫字段存儲的數據加密
mysql aes_encryupt 原表裏面的數據沒有加密,創建了一張加密表,循環原表裏面的數據,加密後插入到加密表。最後創建一個觸發器,在原表裏面插入了數據,自動觸發在加密表裏面插入相同的數據。 使用mysql的aes_encrypt加密數據 使用Mysql的aes_decrypt解密數據 因為
mysql 查找除id外其他重復的字段數據
one 我們 keyword pla 數據 plain image 多個 http 如表 test1 有多個重復的字段 其中有些數據完全重復是錯誤的數據,我們要把他找出來,然後刪除掉 select * from test1 a where (a.phone,a.name)
python簡單模擬:把樹存儲在數據表中
數據庫 __main__ __name__ com clas list lis 數據表 name 在數據庫中建立一個表,有Id, fatherId, value 三個字段,就可以存儲一個樹。 如何把該表中的數據以樹的形式呈現出來,下面小弟用python簡單模擬一下。 初學p
php 保存到mysql數據庫中的中文亂碼
sql mysql數據庫 sca escape huang tlb eba ont chan Java%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9A%84%E6%97%A5%E5%B8%B8%E2%80%94%E2%80%94%20%E3%80%8A%E
python json及mysql——讀取json文件存sql、數據庫日期類型轉換、終端操縱mysql及python codecs讀取大文件問題
temp extra log urn xtra mysql 程序 pre 安裝mysql preface: 近期幫師兄處理json文件,須要讀到數據庫裏面,以備其興許從數據庫讀取數據。數據是關於yelp站點裏面的: https://github.com/Yelp/d
說說酷播雲存儲及數據分析功能(多圖)
上傳視頻 視頻 數據分析 tudou you play 一段 font 多圖 說說酷播雲存儲及數據分析功能(多圖) 酷播雲的統計分析功能截圖,什麽是酷播雲?就是可以上傳視頻,上傳後,就可以直接調用播放的一個平臺,最大特色是無廣告,不像youku,tudou視頻前面會加一段7
OutputCache緩存各參數的說明
ont ons duration www name sof asp.net bae strong 原文發布時間為:2009-10-25 —— 來源於本人的百度文章 [由搬家工具導入]Duration 缓存时间ÿ
C++ 關於大多數人將 cin::sync() 視為清除緩存區函數的錯誤
word 百度 true text imp clear please put ret 百度cin::sync(),得到的絕大多數解釋都是用作清除緩沖區,並聲明一般與cin::clear()函數一起用達到目的。 同樣百度清除緩沖區的方法,也是絕大多數說用cin::
C++ 大多數人將 cin::sync() 視為清除緩存區函數的誤用
associate fill ted oci tro som for pre 緩沖區 一百度,大多數人將cin::sync()函數直接理解為清空緩沖區的函數,然而如果在VS2017編譯器上,就會發現並不能清空緩沖區,為什麽呢? http://en.cpprefe
觸發器記錄表某一個字段數據變化的日誌
constrain const from add buffer 操作類 font declare client p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } p.p2 { margin: 0
aNDROID保存圖片到數據庫
list aid http andro baidu roi com 數據庫 5% %E6%B1%82aNDROID%E6%9C%89%E5%85%B3JNI%E7%9A%84%E6%95%99%E7%A8%8B http://music.baidu.com/songlis
更改服務器群集IP及數據庫AlwayOn偵聽IP
sql windows cluster 目前數據庫服務器有三臺,操作系統版本Windows Server 2008 R2 with Sp1,數據庫版本為SQL Server 2012 Standard R2,三臺數據庫服務器的計算機名稱及IP地址分別如下:sqlsrv-001 : 10