我最近将一个网站翻译成Rails I18n YAML文件,文件本身很大(30 kbs +)。我不确定如何处理simplebackend,但根据我的理解,rails应用程序的每个实例都会将该YAML文件散列到其后端,该后端存储在内存中。看起来Ruby中的典型哈希数组可以从100字节大小上升,因此具有超过500个具有值的转换哈希键可以相当大地放大总内存使用量。也许我是偏执狂,但我认为使用Redis等另一个I18n后端来存储翻译会更好。
我的逻辑在这里是否正确?我应该做出改变吗?
答案 0 :(得分:2)
是的,你应该,因为你指定的原因。 YAML非常适合测试您的应用程序,但它不能很好地用于生产目的(高内存使用,慢速写入文件等)。 Redis是一个很好的选择,直接插入I18n宝石。
有关详细信息,请参阅this Railscast。