<?php namespace Doctrine\Common\Cache; class ApcCache extends CacheProvider { protected function doFetch($id) { return apc_fetch($id); } protected function doContains($id) { return apc_exists($id); } protected function doSave($id, $data, $lifeTime = 0) { return apc_store($id, $data, $lifeTime); } protected function doDelete($id) { // apc_delete returns false if the id does not exist return apc_delete($id) || ! apc_exists($id); } protected function doFlush() { return apc_clear_cache() && apc_clear_cache('user'); } protected function doFetchMultiple(array $keys) { return apc_fetch($keys) ?: []; } protected function doSaveMultiple(array $keysAndValues, $lifetime = 0) { $result = apc_store($keysAndValues, null, $lifetime); return empty($result); }
快取是指可以進行高速數據交換的記憶體,它先於記憶體與CPU交換數據,因此速率很快。 L1 Cache(一級快取)是CPU第一層快取。內建的L1快取的容量和結構對CPU的效能影響較大,不過高速緩衝記憶體皆由靜態RAM組成,結構較複雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般L1緩存的容量通常在32—256KB。 L2 Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部兩種晶片。內部的晶片二級快取運作速率與主頻相同,而外部的二級快取則只有主頻的一半。 L2快取容量也會影響CPU的效能,原則是越大越好,一般桌上型電腦CPU的L2快取一般為128KB到2MB或更高,筆記型電腦、伺服器和工作站上用CPU的L2快取最高可達1MB- 3MB。
快取只是記憶體中少部分資料的複製品,所以CPU到快取中尋找資料時,也會出現找不到的情況(因為這些資料沒有從記憶體複製到快取中去),這時CPU還是會到記憶體去找數據,這樣系統的速率就慢下來了,不過CPU會把這些數據複製到快取中去,以便下次不要再到記憶體中去取。隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,又不頻繁了,所以說快取中的資料要經常依照一定的演算法來更換,這樣才能確保快取中的資料是被存取最頻繁的。
本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn
相關文章
29Jul2016
asp.net資料庫連線:asp.net資料庫連線整合了前面的PHP資料庫連線類別~~做成分頁類別!:不知道學PHP有沒有前途~哎越寫越沒勁
04Aug2016
這個類別可以取得資訊的一個Git倉庫。 它使用的Git客戶端程式查詢庫來獲得某些類型的統計資料。 目前,它可以獲得所有提交給定的分支,得到的最新提交的哈希,一個給定的分支的數量提交並獲得一個給定的分支版本。 PHP 原始碼與示範: 原始碼出處示範出處 ?phprequi