一 Memcached簡介
Memcached是一個自由開源的,高性能,分布式內存對象緩存系統。它是一種基于內存的key-value存儲,用來存儲小塊的任意數據(字符串、對象)。這些數據可以是數據庫調用、API調用或者是頁面渲染的結果。
Memcached簡潔而強大。它的簡潔設計便于快速開發,減輕開發難度,解決了大數據量緩存的很多問題。它的API兼容大部分流行的開發語言。本質上,它是一個簡潔的key-value存儲系統。
一般的使用目的是,通過緩存數據庫查詢結果,減少數據庫訪問次數,以提高動態Web應用的速度、提高可擴展性。
特征:
-
協議簡單;
-
基于libevent的事件處理;
-
內置內存存儲方式;
-
memcached不互相通信的分布式。
Memcached常用選項:
-l <ip_addr>:監聽的地址 -m <num>:緩存空間大小,單位為MB, 默認為64 -c <num>:最大并發連接數,默認為1024 -M:緩存空間耗盡時,向請求者返回錯誤信息,而不是基于LRU算法進行緩存清理 -f <factor>:growth factor, 增長因子 -t <threads>:處理用于請求的線程數
二 基于LNMP架構添加Memcached支持并驗證其結果
1. 架構示意圖
2. 實驗環境
IP | 功用 |
192.168.237.129 | nginx |
192.168.237.131 | php-fpm+mariadb+memcached |
3. 實驗步驟
Nginx, PHP-FPM和MariaDB安裝在此忽略。
(1) Memcached安裝
#安裝Memcached yum -y install memcached #啟動Memcached memcached -d -m 1024 -u memcached
連接測試
telnet 192.168.237.131 11211
查看Memcached信息
(2) 安裝PHP的Memcached的擴展
php連接memcached服務的模塊有兩個,php-pecl-memcache和php-pecl-memcached.若要安裝php-pecl-memcached需要依賴libmemcached程序包,可以提供相應操作查看memcached的工具。在這里為方便演示就直接使用php-pecl-memcache擴展模塊。
#安裝PHP的Memcached擴展模塊 yum -y install php-pecl-memcache
測試PHP是否已支持Memcached, 瀏覽器中輸入http://192.168.237.129/index.php
(3) 測試Memcached緩存
#在nginx根目錄下寫入php測試腳本 vim /usr/share/nginx/html/test.php <?php $mem = new Memcache; $mem->connect("192.168.237.131", 11211); #連接Memcached $version = $mem->getVersion(); echo "Server's version: ".$version."<br/>\n"; #輸出Memcached版本信息 $mem->set('testkey', 'Hello World', 0, 600); #向Memcached存儲數據'Hello World',時間為600s echo "Store data in the cache (data will expire in 600 seconds)<br/>\n"; $get_result = $mem->get('testkey'); #獲取testkey的值 echo "$get_result is from memcached server."; ?>
測試Memcached緩存結果,在瀏覽器中輸入192.168.237.129/test.php
可以看出緩存已生效,再查看Memcached相應信息
原創文章,作者:N25_zzc,如若轉載,請注明出處:http://www.www58058.com/63428
搭建過程能詳細總結下會更好~~加油~