目前,我在本地部署web服务api方面遇到了麻烦。我使用带有PHP Memcache扩展的memcached。以下是以下行为:
我有一个登录功能,首先用下面的代码检查用户信息是否在内存中;
$cache = Memcacher::get_instance()->load( 'user.' . $email);
$cache
为true
。$cache = Memcacher::get_instance()->save( 'user.' . $login['value']['email'], $login);
参数$login
是一个包含用户信息的关联数组。
在将它保存到内存中之后,我尝试重新登录。但是,在我保存到memcached服务器3-4次之前,它并不保存这些信息。
在3-4登录后,我成功地从缓存中获得登录信息.
有人能解释我这种奇怪的行为吗?是否有memcached配置变量来防止这种情况发生?
注意:我在Ubuntu上用sudo service memcached restart
重新启动memcached来刷新内存
注意: Memcache是一个自定义模块,它使用PHP扩展的set()
和get()
函数
注意:这是梅姆卡赫的源代码
发布于 2013-03-30 16:36:20
您正在用字符串连接数组。在这一点上,$login可能不是一个数组,因此您将开始接收您拥有的信息,因为连接将起作用。但是,如果它是数组,则无法将密钥保存在memcache中。你会收到一个通知,我想你会忽略它。
https://stackoverflow.com/questions/15720531
复制相似问题