惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
V
Visual Studio Blog
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 叶小钗
I
InfoQ
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
IT之家
IT之家
P
Proofpoint News Feed
WordPress大学
WordPress大学
小众软件
小众软件
B
Blog
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
量子位
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客

Mobility

Flint:让 skill 成为个人资产 从薅 token 到管 skill:我的 pks 工具落地实践 把笔记、微信读书、知乎装进 Obsidian:我基于llm-wiki知识中枢搭建实录 免费AI视频生成器:我如何用零成本做出带旁白字幕的多场景AI视频 Agnes免费模型真能白嫖视频?我改造了ViMax来试试 教你薅token(二):构建agent无关的skills管理工作流 教你薅token:构建agent无关的AI工作流 用 AI Agent 完成 Hexo 主题迁移:从 Next 到 Butterfly 的全自动化实践 Vercel封禁163邮箱后,我是怎么恢复博客的 用LLM管理安全开发规范:一次llm-wiki实践 Vaadin框架教程:Java工程师的前端开发秘籍 hexo多语言方案总结及最佳实践 知乎增强工具-评论时间精确到秒 怎么理解数据库的四个隔离级别 kubernetes是什么-实用向教程 怎么更科学的用知乎摸鱼 读书笔记《系统之美》,如何面对现实中的复杂问题 分布式系统设计中的通用方法 高并发解决方案很难吗?轻松聊清楚高并发设计 SSP,DSP,RTB,ADX都是什么? 讲讲互联网广告的概念与发展 从redolog,undolog到隔离级别,刨根问底,讲清楚事务和ACID java项目低学习成本使用kubernetes的实践经验 剧变中的2021-一个中年工程师的年终总结 kubernetes环境下做金丝雀发布的一种思路 prometheus教程: 一篇文章讲懂prometheus iterm2配置ssh书签, 实现记住密码和自动登录 怎样做一个好的技术分享 云原生究竟是什么 读书笔记 稻盛和夫《干法》-思考应该怎样去工作 review的个人价值
实现一个简单的java版本高性能获取ip地址所属国家工具
流沙 · 2021-10-12 · via Mobility

一个非常简单且性能优秀的的工具,用于获取某个ip地址的所属国家。

数据

ip地址库的数据可以从http://download.ip2location.com/lite/ 获取。可以写一个简单的定时任务,定期去拉最新的数据。由于ip地址的更新不是非常频繁,因此一个月左右更新一次就足够了。

格式

1
2
3
4
5
6
7
```
...
16781312,JP
16785408,CN
16793600,JP
...
```

数据示例如上,每行数据是一个ip地址的段,包括段的起始地址和对应国家的代号。原始数据实际上还包含地址段的结束点,不过实际上我们拿到的数据都是连续的数据段,因此我们完全可以省略掉结束地址,以节约内存。

实现

实现逻辑很简单,将数据全部导入到一个数组中,然后写一个二分查找就可以了。

项目整体使用springboot实现,可以直接运行springboot, 也可使用docker运行。

使用thymeleaf实现了一个极简版的页面。

体验

访问 http://ip-country.lichuanyang.top/ , 简单体验工具效果。

项目源码在https://github.com/lcy362/ip-country, 如果觉得还不错,麻烦给一个star (^▽^)。

原文地址: https://lichuanyang.top/posts/36780/


版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mobility