首頁 >後端開發 >PHP問題 >php資料緩存有幾種形式

php資料緩存有幾種形式

王林
王林原創
2019-09-19 17:57:212715瀏覽

php資料緩存有幾種形式

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多