我尝试在我的django应用中使用maxminddb GeoLite2,这样我就可以在不调用外部API的情况下跟踪每个请求的国家/地区。但是,我关注的是阅读他们提出的以下解决方案的可扩展性:
reader = maxminddb.open_database('GeoLite2-Country.mmdb')
try:
country_object = reader.get(ip)
country=country_object['country']['names']['en']
except:
country=None
reader.close()
在模块(https://github.com/maxmind/MaxMind-DB-Reader-python)中,他们使用内存映射提到它,但我认为上面的代码只使用内存映射来处理一个请求。 这意味着对于每个请求都有mmdb文件的打开和关闭。有没有办法将此文件加载到内存中,并且每个请求都从那里访问它而不是文件?