1

我第一次使用 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 中更新值的典型做法是什么?

4

1 回答 1

2

你调用 memcached::get。

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

如果返回值为 false,则它不在缓存中(从未存在过或存在的内容已过期)。计算值,将其保存到您的内存缓存中,然后继续您的程序。

缓存的目的是让您免于执行一些资源密集型任务,只需执行一次,然后将其缓存一段时间并在未来的请求中重用该值。

于 2010-11-22T02:44:49.713 回答