整个项目不到几个小时就研发完了,起码满足了我自己的需求,并且实现了这样几个特性:
- 多进程
- 支持并发
- 守护进程
- 可以通过网页面板管理IP
- 流量统计
- 拦截记录
现在我们来一步一步的实现这个系统在第一步的代码中,我们只是简单的使用了查询缓存,但是还不够,还可以优化。这里也没有必要做什么性能优化,反正本来就是拦截的IP,优化个毛。
### 高性能处理缓存数据
上面我们介绍,我们会另外开启一个进程,维护IP白名单,并且将流量统计提交到数据库。还能再怎么优化呢?实际上还是可以优化的。
### 更好的内存驱动
这里使用的是ThinkPHP内置的文件缓存,存储到磁盘上,以上方法,在大量连接并发时,肯定受制于磁盘的性能。