OpenResty 基于openresty共享内存实现一个IP定位的模块

大多IP定位的功能都是基于一个IP库文件来实现,通过将目标IP与IP库文件中的数据作对比,查找出对应的IP范围,从而查找到其位置数据,对于频繁查找,显得力不从心了,因此,作者本人想通过将ip库数据放于内存,通过在内存中查找数据的方式来提高其查找性能。但是在实现过程中,遇到一些问题。

一、主要问题

1、问:IP库数据何处来,如果找到完整而相对准确的IP库?

答:目前市面上有qqwry纯真数据库,有ipi

OpenResty 基于lua-resty-websocket库实现系统监控

一、实现原理

通过lua脚本执行linux的系统监控命令(shell命令),并将执行结果得到的数据通过websocket协议传递给客户端,供客户端展示

二、实现技术

  • 前端展示:html5的websocket技术、highcharts图表展示库
  • 后端实现:lua-resty-websocket库、io.popen函数

三、知识准备与拓展

(1)html5中的websocket协议
属性:
属性名 含义

MySQL数据库 mysql中导入大容量csv或txt数据文件

导入数据文件时可以使用一些mysql客户端工具,如navicat,但是如果数据量过大,这个导入过程会非常的长,如果机器配置过低,甚至出现假死的情况,此时,使用mysql的load data来导入数据文件,再合适不过了(insert跟它比起来就是个渣)。

因为使用navicat这样的工具,是将这些数据转化为insert语句,执行insert语句来插入。

一、load data的用法

参考mysql官方