我目前在本地部署我的 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 配置变量来防止这种情况?
注意:我sudo service memcached restart
在 Ubuntu 上通过重新启动 memcached 来刷新内存
注意:Memcacher 是一个使用 PHP Memcache 扩展set()
和get()
功能的自定义模块
注意:这是Memcacher的源代码