Memcached

文章目錄

1、Memcached 簡介

2、案例部署

第一步:部署 Memcached 服務器

第二步:客戶端部署 LAMP 架構

第三步:安裝 Memcache 客戶端

第四步:配置 PHP ----- 添加 Memcached 組件

第五步:客戶端檢測服務端是否能夠正常鏈接

3、Memcached 數據庫操做與管理

1、Memcached 簡介

(1)介紹:

Memcached 是一個高性能的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫負載。它經過在內存中緩存數據和對象來減小讀取數據庫的次數,從而提升動態、數據庫驅動網站的速度。Memcached基於一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,可是客戶端能夠用任何語言來編寫,並經過memcached協議與守護進程通訊。

(2)特色:

memcached做爲高速運行的分佈式緩存服務器,具備如下的特色:

一、協議簡單;

二、基於libevent的事件處理;

三、內置內存存儲方式;

四、memcached不互相通訊的分佈式。

(3)存儲方式:

爲了提升性能,memcached中保存的數據都存儲在memcached內置的內存存儲空間中。因爲數據僅存在於內存中,所以重啓memcached、重啓操做系統會致使所有數據消失。另外,內容容量達到指定值以後,就基於LRU(Least Recently Used)算法自動刪除不使用的緩存。memcached自己是爲緩存而設計的服務器,所以並無過多考慮數據的永久性問題。

2、案例部署:

準備兩臺 centos7 系統的虛擬機,一臺爲 Memcached 服務器,另外一臺爲裝有 LAMP架構的 Memcache 客戶端。

角色 須要安裝的軟件包

Memcached 服務器(192.168.220.169) memcached-1.5.6.tar.gz、libevent-2.1.8-stable.tar.gzphp

Memcache 客戶端(192.168.220.131) memcache-2.2.7.tgz 、LAMP(httpd、mysql、php)mysql

第一步:部署 Memcached 服務器

(1)安裝依賴環境包:

yum install gcc gcc-c++ make -y

 (2)解壓軟件包:

tar zxvf libevent-2.1.8-stable.tar.gz -C /opt/
tar zxvf memcached-1.5.6.tar.gz -C /opt/

 (3)編譯安裝 libevent :

cd /opt/libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent
make && make install

 (4)編譯安裝 memcached :

cd /opt/memcached-1.5.6/

./configure \
--prefix=/usr/local/memcached \
--with-libevent=/usr/local/libevent/

make && make install

 (5)方便操做能夠建立一個軟連接:

ln -s /usr/local/memcached/bin/* /usr/local/bin

 (6)開啓 memcached 服務:

memcached -d -m 32m -p 11211 -u root    //-d守護進程 ;-m緩存大小32M ;-p端口11211

 (7)查看端口是否正常開發:

netstat -natp | grep memcached

第二步:客戶端部署 LAMP 架構

(1)LAMP 架構以前博客有詳細講過 :部署LAMP架構

(2)下面是測試 LAMP 架構是否能正常運行:

一、測試數據庫工做是否正常:

mysql -u root -p   //進入數據庫

CREATE DATABASE sky;   //建立一個數據庫爲 sky
GRANT all ON sky.* TO 'skyuser'@'%' IDENTIFIED BY 'admin123';  //提權
flush privileges;   //刷新數據庫

二、修改 PHP 首頁:

vim /usr/local/httpd/htdocs/index.php

<?php
$link=mysql_connect('192.168.220.131','skyuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>

三、瀏覽器訪問測試 :http://192.168.220.131/index.php ,顯示 Success爲正常。

第三步:安裝 Memcache 客戶端

(1)安裝依賴包:
 yum install autoconf -y

(2)解壓:
 tar zvxf memcache-2.2.7.tgz -C /opt/

(3)編譯(使用PHP的phpize腳本生成配置腳本configure,再進行配置編譯):
cd /opt/memcache-2.2.7
/usr/local/php5/bin/phpize   
./configure \
--enable-memcache \
--with-php-config=/usr/local/php5/bin/php-config

(4)安裝:
make && make install

(5)安裝完成後,會出現一行,這是共享文件的位置,後面要用到:
/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/

Memcached

第四步:配置 PHP ----- 添加 Memcached 組件

vim /usr/local/php5/php.ini 
//搜索並修改下面一行,再新增一行
        extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/" 
        extension = memcache.so

Memcached

第五步:客戶端檢測服務端是否能夠正常鏈接

(1)編寫測試首頁,用於檢查 memcached 工做是否正常

vim /usr/local/httpd/htdocs/index.php

<?php
$memcache=new Memcache();
$memcache->connect('192.168.220.169',11211);  ##鏈接Memcached服務器地址
$memcache->set('key','Memcache test Successfull!',0,60);
$result=$memcache->get('key');
unset($memcache);
echo$result;
?>

(2)service httpd restart 重啓Apache服務

(3)瀏覽器網頁訪問:http://192.168.220.131/index.php

3、Memcached 數據庫操做與管理:

(1)安裝使用 telnet 鏈接主機IP地址以及11211端口,就能夠對數據庫進行操做和管理了

yum install telnet -y
telnet 127.0.0.1 11211   //鏈接本地用 127.0.0.1就能夠了,鏈接其餘主機使用對應IP地址便可
1

(2)新建數據:

add username 0 0 7  //添加數據(兩個0表示:不進行壓縮和序列化標識,數據過時時間爲永不過時;標識號是7就須要輸入7位數。)
allways   //輸入一個7位數

Memcached

(3)查詢數據:

get username  //查詢數據

gets username

(4)更新數據:

set username 0 0 10       //更新信息,若鍵名不存在,則自行添加
everything

replace username 0 0 8    //更新信息,若鍵名不存在,則報錯
12345678

Memcached

(5)檢測/查看 更新數據:

gets username  //檢測更新
VALUE username 0 8 4
12345678

(6)追加數據:

append username 0 0 7       //鍵值後追加數據
example

prepend username 0 0 2     //鍵值前追加數據
un

(7)清除數據:

delete username     //清除指定的鍵值數據
flush_all           //清除全部緩存數據
OK

(8)查看服務器統計信息:

stats                  //顯示狀態信息
stats items            //返回全部鍵值對的統計信息
stats cachedump 1 0    //返回指定存儲空間的鍵值對 
stats slabs            //顯示各個slab的信息
stats sizes           //輸出全部item的大小和個數
stats reset           //清空統計數據

(9)退出:

quit
相關文章
相關標籤/搜索