在 mmdb 文件操作之间更新 Maxmind DatabaseReader

Updating Maxmind DatabaseReader between mmdb file manipulations

我已经阅读了很多页的文档,但找不到明确的答案。 是否允许在数据库 Reader 打开时修改 mmdb 文件(例如,通过 geoipupdate)?或者任何此类操作是否会使现有的 Reader 实例损坏,并且应该创建一个新实例?我看到 Legacy 格式有一个处理 mmdb 更新的缓存标志,但找不到关于新格式的任何明确信息。

您没有说明您使用的是 API 还是 OS,但是,使用 Linux 上的任何官方 API,您可以替换使用 geoipupdate 删除数据库文件,或者当新文件位于同一文件系统时将新文件移动到旧文件之上。旧文件在不再使用之前不会被物理删除。但是,如果您希望新文件对您的应用程序可用,则需要重新打开数据库。