前面写过一篇 i18n多语言数据库设计的文章 ,介绍了最佳的数据库表结构,以及“数据库 + Redis + LRU 三级缓存”的国际化多语言网站数据库设计方案。当时的设计目标是:既要减少数据库压力,又要把常用语言的响应速度提上来。
方案上线后,很快就遇到了问题。经过几轮调整,最终改成了一套更简单的架构:翻译数据只在 DB 里维护,启动时全量加载到内存,运行时零 DB 查询。
这篇文章记录这次演进的过程:从 po 文件到三级缓存,再到全量内存,每一阶段遇到的问题、做出的取舍,以及最终方案的适用边界。文中涉及的数据规模、内存占用都是真实数字。



