0

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

我可以从 gettext 收集的缓存字符串中受益还是应该保持原样?

4

2 回答 2

1

没有好处

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


错误的解决方案

唯一的选择是将.mo文件中的字符串作为字符串数组缓存在 Memcached 服务器中,但这会使获取翻译的方法比本地方法慢,因此没有必要这样做。


结论

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

于 2014-02-19T09:56:42.477 回答
0

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

于 2014-02-19T08:44:45.457 回答