何时以及如何更新Memcached中更改的项目?

时间:2010-11-22 02:33:55

标签: php memcached libmemcache

我第一次使用PHP的PECL / Memcached,我无法弄清楚何时或如何在Memcached中更新更改的项目。

我尝试过使用Memcached::addMemcached::set,但都没有产生我期望的结果。

Memcached::set自动替换值

$memcached->set('key', 'value', time() + 300);
$memcached->set('key', 'value2', time() + 300);
var_dump($memcached->get('key')); // Outputs "value2"

Memcached::add如果已在Memcached

中设置,则不会替换该值
$memcached->add('key', 'value');
$memcached->add('key', 'value2';
var_dump($memcached->get('key')); // Outputs "value"

那么在Memcached中更新值的典型做法是什么?

1 个答案:

答案 0 :(得分:2)

你打电话给memcached :: get。

如果返回值不为false,则您的值在缓存中,您现在可以使用它并可以使用它。

如果返回值为false,则它不在缓存中(从来没有或者已经过期了)。计算值,将其保存到memcache中,然后继续执行程序。

缓存的目的是通过执行一次,然后缓存一段时间并在将来的请求中重用该值来避免执行一些资源密集型任务。