快取是指可以進行高速數據交換的記憶器,它先於記憶體與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會把這些數據複製到快取中去,以便下次不要再到記憶體中去取。隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,又不頻繁了,所以說快取中的資料要經常依照一定的演算法來更換,這樣才能確保快取中的資料是被存取最頻繁的。
<?php namespace Cake\Cache; use Cake\Cache\Engine\NullEngine; use Cake\Core\ObjectRegistry; use Cake\Core\StaticConfigTrait; use InvalidArgumentException; use RuntimeException; class Cache { use StaticConfigTrait; protected static $_dsnClassMap = [ 'apc' => 'Cake\Cache\Engine\ApcEngine', 'file' => 'Cake\Cache\Engine\FileEngine', 'memcached' => 'Cake\Cache\Engine\MemcachedEngine', 'null' => 'Cake\Cache\Engine\NullEngine', 'redis' => 'Cake\Cache\Engine\RedisEngine', 'wincache' => 'Cake\Cache\Engine\WincacheEngine', 'xcache' => 'Cake\Cache\Engine\XcacheEngine', ]; protected static $_enabled = true; protected static $_groups = []; protected static $_registry; public static function getRegistry() { if (!static::$_registry) { static::$_registry = new CacheRegistry(); } return static::$_registry; }
本站所有資源皆由網友貢獻或各大下載網站轉載。請自行檢查軟體的完整性!本站所有資源僅供學習參考。請不要將它們用於商業目的。否則,一切後果都由您負責!如有侵權,請聯絡我們刪除。聯絡方式:admin@php.cn
相關文章
22 Oct 2024
本文討論子類別無法存取從其父類別繼承的受保護變數的問題。它建議透過使用 $this->bb 語法來存取子類別中繼承的變數來解決這個問題。文章還
21 Dec 2024
我發布了一個名為sync-actions 的函式庫,它允許在 JavaScript/TypeScript 中同步執行非同步進程。特別是在 TypeScript 中,您可以以型別安全的方式呼叫定義的函數。它旨在用於以下情況:
21 Jul 2016
一個用於MySQL的PHP XML類別。我承認我不是PHP的領導者。然而,在看了一些PHP的資訊之後,我認為有一些功能需要添加到其中來處理資料庫連接和整合XML。要做到這一點
29 Oct 2024
CodeIgniter 是一個流行的 PHP 框架,以其簡單、速度和強大的性能而聞名。它具有各種插件和程式庫,開發人員可以使用它們來增強功能、簡化流程並創建強大的應用程式。無論
18 Dec 2024
從 PHP 中的其他類別存取 MySQLi 連線從 PHP 5.6 升級到 7.0 時,必須從 MySQL 過渡到 MySQLi。這...