从DB获取短语或缓存它

时间:2012-12-31 18:08:27

标签: php caching memcached

我有多语言脚本。每种语言都拥有短语。在global.php上我从数据库中检索数据,并将所有短语放在一个数组中。

主要问题是,有很多人没有Memcached在那里托管。在不使用Memcached的情况下,保持性能高的最佳方法是什么?

我尝试使用sessions,但每位访问者都会创建另一个session

任何想法?

1 个答案:

答案 0 :(得分:1)

任何持久性商店都是您问题的答案。它可以是文件系统,它可以是memcache(内存),它可以是数据库,也可以是N个其他东西。记忆显然是最高效的。

如果您正在开发一个应该分发您的缓存层的应用程序,那么应该可以随时轻松地替换后端(持久性存储)。然后实现带有回退的最佳案例缓存,一直到文件然后黑洞。但是缓存的实现不应该与此有关。

$cache = new Cache; // Automatically selects the best cache-mechanism to use
$cacheId = 'languages';

if (!$languages = $cache->load($cacheId) {

  // ... Do the leg-work to get the languages ...

  $cache->save($cacheId, $languages);
}

return $languages;