我已经使用PHP的gettext扩展了一段时间,我对它的功能感到满意。我想知道是否有必要编写一个类来缓存从.mo
文件到Memcached服务器的字符串。
我可以通过gettext收集缓存字符串,还是应该保留原样?
答案 0 :(得分:1)
不,您无法将.mo
文件缓存到外部缓存(例如Memcached)。本机gettext扩展有自己的内置缓存。
由于PHP的gettext函数仅从.mo
文件检索翻译,因此PHP无法从Memcached服务器获取翻译。
唯一的选择是将您的.mo
文件中的字符串作为字符串数组缓存在Memcached服务器中,但是这会使得翻译的方法比本地文件慢,所以没有必要制作这一点。
使用本机gettext,它有自己的缓存算法。使用外部缓存类加载代码可能会导致无用的代码,这会降低您的网站性能,而不是加快速度。此外,您已经浪费了编写外部缓存类的时间。
答案 1 :(得分:0)
如果您正在使用本机gettext扩展,则它已在内部缓存.mo文件。你会在这里找到很多关于如何让它刷新的问题,因为它的缓存有时会非常激进。