我第一次使用PHP的PECL / Memcached,我无法弄清楚何时或如何在Memcached中更新更改的项目。
我尝试过使用Memcached::add
和Memcached::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中更新值的典型做法是什么?
答案 0 :(得分:2)
你打电话给memcached :: get。
如果返回值不为false,则您的值在缓存中,您现在可以使用它并可以使用它。
如果返回值为false,则它不在缓存中(从来没有或者已经过期了)。计算值,将其保存到memcache中,然后继续执行程序。
缓存的目的是通过执行一次,然后缓存一段时间并在将来的请求中重用该值来避免执行一些资源密集型任务。