您好,登錄后才能下訂單哦!
(1)介紹:
Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協議與守護進程通信。
(2)特點:
memcached作為高速運行的分布式緩存服務器,具有以下的特點:
1、協議簡單;
2、基于libevent的事件處理;
3、內置內存存儲方式;
4、memcached不互相通信的分布式。
(3)存儲方式:
為了提高性能,memcached中保存的數據都存儲在memcached內置的內存存儲空間中。由于數據僅存在于內存中,因此重啟memcached、重啟操作系統會導致全部數據消失。另外,內容容量達到指定值之后,就基于LRU(Least Recently Used)算法自動刪除不使用的緩存。memcached本身是為緩存而設計的服務器,因此并沒有過多考慮數據的永久性問題。
準備兩臺 centos7 系統的虛擬機,一臺為 Memcached 服務器,另一臺為裝有 LAMP架構的 Memcache 客戶端。
第一步:部署 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 架構是否能正常運行:
1、測試數據庫工作是否正常:
mysql -u root -p //進入數據庫
CREATE DATABASE sky; //創建一個數據庫為 sky
GRANT all ON sky.* TO 'skyuser'@'%' IDENTIFIED BY 'admin123'; //提權
flush privileges; //刷新數據庫
2、修改 PHP 首頁:
vim /usr/local/httpd/htdocs/index.php
<?php
$link=mysql_connect('192.168.220.131','skyuser','admin123');
if($link) echo "<h2>Success!!</h2>";
else echo "Fail!!";
mysql_close();
?>
3、瀏覽器訪問測試 :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/
第四步:配置 PHP ----- 添加 Memcached 組件
vim /usr/local/php5/php.ini
//搜索并修改下面一行,再新增一行
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/"
extension = memcache.so
第五步:客戶端檢測服務端是否可以正常連接
(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
(1)安裝使用 telnet 連接主機IP地址以及11211端口,就可以對數據庫進行操作和管理了
yum install telnet -y
telnet 127.0.0.1 11211 //連接本地用 127.0.0.1就可以了,連接其他主機使用對應IP地址即可
(2)新建數據:
add username 0 0 7 //添加數據(兩個0表示:不進行壓縮和序列化標識,數據過期時間為永不過期;標識號是7就需要輸入7位數。)
allways //輸入一個7位數
(2)查詢數據:
get username //查詢數據
gets username
(3)更新數據:
set username 0 0 10 //更新信息,若鍵名不存在,則自行添加
everything
replace username 0 0 8 //更新信息,若鍵名不存在,則報錯
12345678
(4)檢測/查看 更新數據:
gets username //檢測更新
VALUE username 0 8 4
12345678
(5)追加數據:
append username 0 0 7 //鍵值后追加數據
example
prepend username 0 0 2 //鍵值前追加數據
un
(6)清除數據:
delete username //清除指定的鍵值數據
flush_all //清除所有緩存數據
OK
(7)查看服務器統計信息:
stats //顯示狀態信息
stats items //返回所有鍵值對的統計信息
stats cachedump 1 0 //返回指定存儲空間的鍵值對
stats slabs //顯示各個slab的信息
stats sizes //輸出所有item的大小和個數
stats reset //清空統計數據
(8)退出:
quit
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。