我目前有關於本地部署我的web服務api的麻煩。我正在使用memcached和PHP Memcache擴展。以下是一些行爲。本地apache服務器上的奇怪memcache行爲
我有一個登錄功能,首先檢查用戶信息是否在內存中,下面的代碼;
$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
重新起動的memcached在Ubuntu
注:Memcacher是一種使用PHP的Memcache擴展的set()
和get()
功能的自定義模塊
注:這裏的源代碼Memcacher
'Memcacher'看起來像什麼....? – Baba
它看起來像這樣:https://github.com/arascanakin/ariba/blob/master/library/memcache.class.php – aacanakin
Config :: get('memcache_lifetime')'的值是什麼? – Baba