我在memcache中有大量数据,目前我很烦恼如何在memcache上更新值?
我用多维数组设置了值..
现在我有两个案例:
我知道我可以通过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的每个变化的数据,这不是一个好主意。
我还了解append
但it says它仅适用于string
值。这意味着我无法将Array
附加到现有key
。
有没有办法在不获取数据的情况下在现有密钥上设置/更新数据?
请帮助..
答案 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设为全局数据,则可以从其他函数
中引用它