Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協議與守護進程通信。
php使用Memcached的基本步驟 環境: 服務器:CentOS 6.4 PHP版本:5.6.30
1、編譯安裝memcached系統服務 從http://memcached.org/下載memcached,然后進行編譯安裝
2、編譯安裝memcache擴展
從pecl.php.net網址下載擴展,并進行編譯安裝,形成.so的文件,然后把.so的文件路徑添加到php.ini中,然后重啟php-fpm
3、學習memcached的簡單命令
前臺啟動:./bin/memcached -u nobody -p 11211 -m 64 -vvv后臺啟動:./bin/memcached -u nobody -p 11211 -m 64 -vvv &4、實戰案例:實現隔5秒去查詢數據庫
可以參考php手冊中的memcache擴展Api
<?php$mem = new Memcache();$mem->connect('localhost',11211);$users = $mem->get('users');//從memcached中讀取users數據if(empty($users)){ $dsn = 'MySQL:host=localhost;dbname=test'; $pdo = new PDO($dsn,'root','1234'); $sql = 'select * from user;'; $st = $pdo->PRepare($sql); $st->execute(); $users = $st->fetchAll(PDO::FETCH_ASSOC); $mem->add('users',$users,false,5);//將users數據添加到memcached中并保存5秒 echo 'from mysql'.'<br/>';}else{ echo 'from cache'.'<br/>';}print_r($users);?>思路: 創建一個memcache的對象,然后連接到memcached服務器上,首先從memcached中讀取是否存在users數據,如果不存在,就連接數據庫服務器,然后查詢數據,并將數據存儲到memcached中,最后進行輸出。
效果圖:
新聞熱點
疑難解答
圖片精選