我应该缓存gettext吗?

时间:2014-02-19 08:39:43

标签: php caching memcached php-gettext

我已经使用PHP的gettext扩展了一段时间,我对它的功能感到满意。我想知道是否有必要编写一个类来缓存从.mo文件到Memcached服务器的字符串。

我可以通过gettext收集缓存字符串,还是应该保留原样?

2 个答案:

答案 0 :(得分:1)

没有好处

不,您无法将.mo文件缓存到外部缓存(例如Memcached)。本机gettext扩展有自己的内置缓存。 由于PHP的gettext函数仅从.mo文件检索翻译,因此PHP无法从Memcached服务器获取翻译。


错误的解决方案

唯一的选择是将您的.mo文件中的字符串作为字符串数组缓存在Memcached服务器中,但是这会使得翻译的方法比本地文件慢,所以没有必要制作这一点。


结论

使用本机gettext,它有自己的缓存算法。使用外部缓存类加载代码可能会导致无用的代码,这会降低您的网站性能,而不是加快速度。此外,您已经浪费了编写外部缓存类的时间。

答案 1 :(得分:0)

如果您正在使用本机gettext扩展,则它已在内部缓存.mo文件。你会在这里找到很多关于如何让它刷新的问题,因为它的缓存有时会非常激进。