0
我有一個mysql數據庫和一個緩存(memcached)在它前面。阻止mysql數據庫查詢
基本上我不想讓任何請求去我的數據庫。相反,所有的請求都應該由緩存來回答。
但是,緩存每隔10分鐘刷新一次,然後請求轉到我的數據庫,直到緩存更新爲最新數據。但這可能會導致交通高峯幾次!
如何阻止請求或讓其中一個通過我的數據庫直到緩存再次更新?
$get_result = $memcache->get('key'); //retrieve memcached data if possible
if($get_result){
// Show the memcached result
}else {
// Make request to the database
...
// and re-set the cache
$memcache->set('key', $get_result, false, 600);
}
好像Ÿ歐是想禁用緩存刷新,但你不要似乎明白了一個cahce是如何工作的?它必須能夠訪問數據庫刷新 – gbtimmon
你爲什麼一次刷新整個緩存?爲什麼不給這些項目10分鐘TTL,使得TTL之後的請求命中數據庫,以每個項目爲基礎重新填充緩存,而不是立即整個緩存? –
即使在每件商品的基礎上,如果商品被沖洗,然後立即被幾百人請求,他們現在都會去DB –