如何添加一个现有的密钥memcache php数据?

时间:2014-04-27 10:59:01

标签: php memcached

我在memcache中有大量数据,目前我很烦恼如何在memcache上更新值?

我用多维数组设置了值..

现在我有两个案例:

  1. 我想在Memcache中添加相同键的新值
  2. 我想更新一个特定数组的某些值。
  3. 我知道我可以通过get -> modify -> set

    来做到这一点
    $data=$m->get('foo');
    
    $data[]=array('id'=>134,'title'=>'My First Car','content'=>'I love my car');
    
    $m->set('foo',$data,TRUE,0);
    

    在此示例中..用户可以更改其title, content等,因此我需要在memcache中更新这些信息。

    但是获取超过1MB的每个变化的数据,这不是一个好主意。

    我还了解appendit says它仅适用于string值。这意味着我无法将Array附加到现有key

    有没有办法在不获取数据的情况下在现有密钥上设置/更新数据?

    请帮助..

1 个答案:

答案 0 :(得分:0)

只需拨打$ m->第一次填充$ data,如果您只是进行更新,请不要再次调用它: -

if (!count($data))
    $data=$m->get('foo');

$data[]=array('id'=>134,'title'=>'My First Car','content'=>'I love my car');

$m->set('foo',$data,TRUE,0);

如果您将$ data设为全局数据,则可以从其他函数

中引用它