anjia0532 / lua-resty-maxminddb

A Lua library for reading MaxMind's Geolocation database
Apache License 2.0
97 stars 31 forks source link

是否需要添加前置lru缓存 #29

Closed ahubaoan closed 2 years ago

ahubaoan commented 2 years ago

-- 我有两个疑问,可以帮我解答一下吗 1、是否需要添加内存的lru缓存来做加速呢? 2、如果是值需要获取一下ip的国家和地域,只缓存国家个地域,是否应该加呢?

anjia0532 commented 2 years ago
  1. 看你的QPS到多少了,可以用之前的issues的wrk压测的脚本(https://github.com/anjia0532/lua-resty-maxminddb/issues/27),测测看。基本上,QPS低于1000的,基本没有缓存的必要(没有明显瓶颈),我一直觉得,过度优化是万恶之源。不过,也欢迎提PR。
  2. 缓存只能用ip作为key,(不过可以优化一下,比如,ip转int http://www.jsons.cn/ipnum/ ),没法基于ip的前几位来推断所在国家省市。
  3. 如果只是要国别,那没必要用city这个库,用 GeoLite2 Country 更合适些。(PS. 当然我这个 lua 库,只是在 city 库经过测试了,其余的 country 和asn 库,可以试试,有问题,自己想办法)
ahubaoan commented 2 years ago

非常感谢!