PHP資料快取方式
快取技術可減輕伺服器負載、降低網路擁塞、增強WWW可擴充性,其基本想法是利用客戶訪問的時間局部性,將客戶訪問過的內容在Cache中存放一個副本,當該內容下次被訪問時,不必連接到駐留網站,而是由Cache中保留的副本提供。快取是一個很重要的技術,以下是自己使用的幾個快取技術,記錄一下。
1、檔案快取(不多說了,這個)。
2、Memcached 是一個高效能的分散式記憶體物件快取系統,用於動態Web應用以減輕資料庫負載。
它透過在記憶體中快取資料和物件來減少讀取資料庫的次數,從而提高動態、資料庫驅動網站的速度。 Memcached基於一個儲存鍵/值對的hashmap。其守護程序(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,並通過memcached協議與守護程序通信,php有memcached擴展,安裝好了即可使用。
// 初始化 $cache = new Memcache(); $cache->pconnect(CACHE_HOSTNAME, CACHE_PORT); // 写入 $cache->set(CACHE_PREFIX . $key, $value, MEMCACHE_COMPRESSED, $expire);(CACHE_PREFIX 为了避免命名冲突,最好加一个前缀,MEMCACHE_COMPRESSED一个标记,设置为0表示不压缩) // 读取 $cache->get(CACHE_PREFIX . $key); // 删除 $cache->delete(CACHE_PREFIX . $key);
3、Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌類型、Key-Value資料庫,並提供多種語言的API。類似的安裝好php擴充// 初始化$cache = new Redis();
// 初始化$cache = new \Redis(); $cache->connect(CACHE_HOSTNAME, CACHE_PORT); // 先检查是否存在,然后写入并设置有效时间 if($cache->exists($key)){ $cache->delete(CACHE_PREFIX . $key); } $cache->set(CACHE_PREFIX . $key, serialize($value)); $cache->expire(CACHE_PREFIX . $key, $expire); // 读取 $cache->get(CACHE_PREFIX . $key);
4、APC
Alternative PHP Cache (APC) 是一個開放自由的PHP opcode 快取。它的目標是提供一個自由、 開放,和健全的框架用於快取和優化PHP的中間程式碼。
// 写入 apc_store(CACHE_PREFIX . $key, $value, $expire); // 读取 apc_fetch(CACHE_PREFIX . $key); // 删除 apc_delete(CACHE_PREFIX . $key);
推薦教學:PHP影片教學
#以上是php資料緩存有幾種形式的詳細內容。更多資訊請關注PHP中文網其他相關文章!