今天我有一个新的非常奇怪的问题。我试图找到一种缓存语言pot文件的方法。
CakePHP执行此操作的标准方法是将文件解析为数组,然后返回键值对。由于文件呈指数增长,我期待提高性能
我有四种解决方案,但我不知道哪种解决方案易于维护并提供最快的性能。
选项1:使用CakePHP的标准方法进行翻译,但只需稍微拆分文件并使用__d()函数
选项2:使用我编写的类来解析所有langauge文件的内容并使用apc缓存它们。然后通过apc_fetch
检索翻译选项3:使用serialize或json_encode(使用速度最快)并使用apc_define_contants定义转换数组
选项4:使用apc_define_contants将翻译文件中的每个键定义为具有其值的符号
我被困在这上面,我不知道什么是最好的
答案 0 :(得分:1)
我可以向您指出其他一些可能的解决方案:
.po/.pot
个文件并“缓存”它们
在redis。但是,使用这些方法,您将不得不看到如何处理缓存以及附加/检索它的位置。 CakePHP中有RedisEngine
和MemcacheEngine
。也许你的最佳解决方案是内存缓存,比如memcache。