2013-09-23 32 views
0

memcached中可能丟失高數量導致任何問題? Memcached沒有檢查密鑰是否存在的功能,我需要設置300s到期時間的密鑰。該密鑰在到期前不會更新。我的代碼看起來像這樣:Memcached和錯過率/檢查密鑰是否存在

$data=$cache->get($cache_key); 
if(!$data) { 
    //load from db here 
    $cache->set($cache_key, $data); 
} 

它工作正常,但我有非常高的流量負載(超過100k在線峯值)。在數據庫是更頻繁的數據更改,但在網絡上是5分鐘延遲好吧,這就是爲什麼我不更新緩存,如果數據庫更新並在到期時間後設置新的。

但我的問題是,我可以擔心錯過,錯過/率?我在memcached中存儲了大約20k個密鑰,所以我可以每5分鐘錯過20k個密鑰。對於我的數據,這是好的,但是對於系統/服務器呢?

回答

0

我不會擔心緩存未命中太多。我看到memcached處理200k ops/sec,實際上它可以處理更多的操作。 20K獲得/ 5分鐘僅爲67 ops/sec,而我對memcached服務器的壓力非常低。

+0

20k/5min是失誤,命中是5k/s – stix