Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更新数据存储中保存在memcache中的数据?_Php_Google App Engine_Memcached_Google Cloud Datastore_Datastore - Fatal编程技术网

Php 如何更新数据存储中保存在memcache中的数据?

Php 如何更新数据存储中保存在memcache中的数据?,php,google-app-engine,memcached,google-cloud-datastore,datastore,Php,Google App Engine,Memcached,Google Cloud Datastore,Datastore,我正在从事一个数据存储项目,我必须使用memcache。但是因为我以前从未使用过memcache,所以我对它感到困惑。我遵循链接并成功地从memcache保存和检索了值 $memcache = new Memcache; $value = $request->getContent(); return $memcache->set($key, $value); 及 因此,当我只想获取用户的详细信息并将其保存到memcache中时,这就足够了。但问题在于将memcache中的值插入数据

我正在从事一个数据存储项目,我必须使用
memcache
。但是因为我以前从未使用过
memcache
,所以我对它感到困惑。我遵循链接并成功地从memcache保存和检索了值

$memcache = new Memcache;
$value = $request->getContent();
return $memcache->set($key, $value);


因此,当我只想获取用户的详细信息并将其保存到
memcache
中时,这就足够了。但问题在于将
memcache
中的值插入数据库。谁能告诉我该怎么做。当用户进行编辑时,我是否应将其保存到
memcache
,当尝试注销时,我是否应首先将所有更改保存到数据存储中,或者有其他解决方案可供以后进行更改?请帮帮我。

不要将其视为“将数据从memcache插入数据库”——这没有什么特别的。您只是将刚刚从memcache中检索到的数据(以通常的方式)插入到数据库中

阅读更多关于memcached的信息。你会意识到不立即保存到数据存储是个坏主意,因为memcache没有保证,所以你会丢失数据,这是出于设计。Hi@ZigMandel,我实际上想保存频繁的api调用来更新或插入数据。我认为这会很划算。你能告诉我我应该做什么来创建我的系统吗?是的,你可以将提交保存在memcached中,但除非你每秒提交多次,否则对你没有帮助。这是可能的,但你需要好好考虑什么时候去做。绝对不是在“注销”时我们如何在
memcache
中保持提交。这与我们保存memcache的方式相同吗?我的意思是我应该将提交实例存储在
memcache
中,并设置某种间隔来更新实体?嗨@Dan。。。我被卡住了,因为我想减少api调用以将数据写入数据库。例如,我有一个用户实体,我需要获取它的信息并根据您的请求进行更新。但每次用户更新一个字段时,它都会向数据存储发出请求。我应该如何防止它?似乎没有回答这个问题(但这是一个很好的评论提示,而不是作为答案)@MKB:不要试图使用memcache作为缓冲区写入数据存储-memcache信息可能随时(最终)出现,您将损坏您的数据memcache操作不受事务保护。好的@DanCornilescu我会记住这一点,但还有其他方法可以帮助我吗?如果你认为可以通过memcache缓冲减少数据存储写入api调用,这意味着应该改进信息更新逻辑,以消除冗余写入操作。如果没有冗余写入,那么您将一无所获。
$memcache = new Memcache;
return $memcache->get($key);