博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis使用sortedset缓存IP段数据
阅读量:5053 次
发布时间:2019-06-12

本文共 513 字,大约阅读时间需要 1 分钟。

    我们原来的业务中,有很多地方需要解析用户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

      

转载于:https://www.cnblogs.com/focus-lei/p/9466814.html

你可能感兴趣的文章
BZOJ1369/BZOJ2865 【后缀数组+线段树】
查看>>
微软ASP.NET站点部署指南(8):部署Code-Only更新
查看>>
FreeModbus移植实例(转)
查看>>
筛素数 [高效]
查看>>
正則表達式(轉)
查看>>
Java并发编程:线程池的使用
查看>>
Python 的xlutils模块
查看>>
springMVC笔记(四)- 不配置HandlerMapping
查看>>
解决zabbix可用性为灰色状态
查看>>
lemon详细使用方法
查看>>
Windows Server 笔记(七):Windows Server 2012 R2 NIC Teaming(NIC组)
查看>>
3.window窗口
查看>>
SQL Link Oracle
查看>>
bzoj 1007: [HNOI2008]水平可见直线 半平面交
查看>>
2017-02-26
查看>>
使用cookie实现只出现一次的广告代码效果
查看>>
Android网络通信框架---Volley
查看>>
浅谈animation里的forwards
查看>>
事件的节流(throttle)与防抖(debounce)
查看>>
07_ddms透视图介绍
查看>>