溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Memcache 安裝及管理

發(fā)布時間:2020-07-16 21:57:11 來源:網(wǎng)絡(luò) 閱讀:295 作者:wx5d3fd1efe40e3 欄目:系統(tǒng)運維

內(nèi)容要點:

一、Memcached 簡介:

二、案例部署:

三、Memcached 數(shù)據(jù)庫操作與管理:

一、Memcached 簡介:

(1)介紹:


Memcached 是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護進程通信。


(2)特點:

memcached作為高速運行的分布式緩存服務(wù)器,具有以下的特點:


1、協(xié)議簡單;

2、基于libevent的事件處理;

3、內(nèi)置內(nèi)存存儲方式;

4、memcached不互相通信的分布式。


(3)存儲方式:


為了提高性能,memcached中保存的數(shù)據(jù)都存儲在memcached內(nèi)置的內(nèi)存存儲空間中。由于數(shù)據(jù)僅存在于內(nèi)存中,因此重啟memcached、重啟操作系統(tǒng)會導致全部數(shù)據(jù)消失。另外,內(nèi)容容量達到指定值之后,就基于LRU(Least Recently Used)算法自動刪除不使用的緩存。memcached本身是為緩存而設(shè)計的服務(wù)器,因此并沒有過多考慮數(shù)據(jù)的永久性問題。


二、案例部署:

準備兩臺 centos7 系統(tǒng)的虛擬機,一臺為 Memcached 服務(wù)器,另一臺為裝有 LAMP架構(gòu)的 Memcache 客戶端。


角色需要安裝的軟件包
Memcached 服務(wù)器(192.168.220.169)memcached-1.5.6.tar.gz、libevent-2.1.8-stable.tar.gz
Memcache 客戶端(192.168.220.131)memcache-2.2.7.tgz 、LAMP(httpd、mysql、php)


第一步:部署 Memcached 服務(wù)器

(1)安裝依賴環(huán)境包:

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)方便操作可以創(chuàng)建一個軟鏈接:

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


(6)開啟 memcached 服務(wù):

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


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

netstat?-natp?|?grep?memcached


第二步:客戶端部署 LAMP 架構(gòu)

(1)LAMP 架構(gòu)之前博客有詳細講過 :部署LAMP架構(gòu)


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


1、測試數(shù)據(jù)庫工作是否正常:


mysql?-u?root?-p???//進入數(shù)據(jù)庫

CREATE?DATABASE?sky;???//創(chuàng)建一個數(shù)據(jù)庫為?sky
GRANT?all?ON?sky.*?TO?'skyuser'@'%'?IDENTIFIED?BY?'admin123';??//提權(quán)
flush?privileges;???//刷新數(shù)據(jù)庫


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 安裝及管理


第三步:安裝 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)安裝完成后,會出現(xiàn)一行,這是共享文件的位置,后面要用到:
/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/

Memcache 安裝及管理


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

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

第五步:客戶端檢測服務(wù)端是否可以正常連接

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


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

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

?

(2) 重啟Apache服務(wù)

service?httpd?restart


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

Memcache 安裝及管理


三、Memcached 數(shù)據(jù)庫操作與管理:

(1)安裝使用 telnet 連接主機IP地址以及11211端口,就可以對數(shù)據(jù)庫進行操作和管理了


yum?install?telnet?-y
telnet?127.0.0.1?11211???//連接本地用?127.0.0.1就可以了,連接其他主機使用對應(yīng)IP地址即可


(2)新建數(shù)據(jù):


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


(3)查詢數(shù)據(jù):


get?username??//查詢數(shù)據(jù)

gets?username


(4)更新數(shù)據(jù):


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

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

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


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


(6)追加數(shù)據(jù):


append?username?0?0?7???????//鍵值后追加數(shù)據(jù)
example

prepend?username?0?0?2?????//鍵值前追加數(shù)據(jù)
un


(7)清除數(shù)據(jù):


delete?username?????//清除指定的鍵值數(shù)據(jù)
flush_all???????????//清除所有緩存數(shù)據(jù)
OK


(8)查看服務(wù)器統(tǒng)計信息:


stats??????????????????//顯示狀態(tài)信息
stats?items????????????//返回所有鍵值對的統(tǒng)計信息
stats?cachedump?1?0????//返回指定存儲空間的鍵值對?
stats?slabs????????????//顯示各個slab的信息
stats?sizes???????????//輸出所有item的大小和個數(shù)
stats?reset???????????//清空統(tǒng)計數(shù)據(jù)


(9)退出:

quit


?

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI