日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
CentOS7從零開(kāi)始安裝編譯Memcached及配置

序言

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了炎陵免費(fèi)建站歡迎大家使用!

Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提高動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。

Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon )是用C寫(xiě)的,但是客戶端可以用任何語(yǔ)言來(lái)編寫(xiě),并通過(guò)memcached協(xié)議與守護(hù)進(jìn)程通信。

當(dāng)然memcached分為服務(wù)端和客戶端。服務(wù)端用來(lái)存放緩存,客戶端用來(lái)操作緩存。

客戶端有兩種常見(jiàn)的實(shí)現(xiàn)方式。

第一種是用php代碼根據(jù)服務(wù)端的通訊規(guī)則自己寫(xiě)一個(gè)。

第二種是安裝php擴(kuò)展庫(kù)(php-memcached)。

一、準(zhǔn)備工作

創(chuàng)建目錄source和package,分別用來(lái)放源碼和編譯后的文件

# mkdir /source/
# mkdir /package/

二、memcached(服務(wù)端篇)

首先先安裝memcached依賴(lài)庫(kù)libevent。

2.1 安裝libevent

[官方網(wǎng)站] http://libevent.org/

命令流程:

# cd /source/
# wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
# tar -zxvf libevent-2.0.22-stable.tar.gz
# cd libevent-2.0.22-stable
# ./configure --prefix=/package/libevent
# make
# make install

2.2 安裝memcached

[官方網(wǎng)站] http://memcached.org/

命令流程:

# cd /source/
# wget http://memcached.org/files/memcached-1.4.25.tar.gz
# tar -zxvf memcached-1.4.25.tar.gz
# cd memcached-1.4.25
# ./configure --prefix=/lnmp/memcached --with-libevent=/package/libevent
# make
# make install

本章總結(jié):

通過(guò)以上操作就很簡(jiǎn)單的把memcached服務(wù)端編譯好了。這時(shí)候就可以打開(kāi)服務(wù)端進(jìn)行工作了。

# /lnmp/memcached/bin/memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 1024 –P /tmp/memcached.pid
啟動(dòng)參數(shù)說(shuō)明:
-d  選項(xiàng)是啟動(dòng)一個(gè)守護(hù)進(jìn)程。
-m  分配給Memcache使用的內(nèi)存數(shù)量,單位是MB,默認(rèn)64MB。
-l  監(jiān)聽(tīng)的IP地址。(默認(rèn):INADDR_ANY,所有地址)
-p  設(shè)置Memcache的TCP監(jiān)聽(tīng)的端口,最好是1024以上的端口。
-u  運(yùn)行Memcache的用戶,如果當(dāng)前為root的話,需要使用此參數(shù)指定用戶。
-c  選項(xiàng)是最大運(yùn)行的并發(fā)連接數(shù),默認(rèn)是1024。
-P  設(shè)置保存Memcache的pid文件。

三、客戶端篇:php代碼

這種方法實(shí)現(xiàn)客戶端最簡(jiǎn)單,直接下載我寫(xiě)的《SL_Memcached》類(lèi)庫(kù)include到自己的項(xiàng)目里調(diào)用相關(guān)對(duì)象就行了。

當(dāng)然,你也可以用其他語(yǔ)言實(shí)現(xiàn)。這里就不在講了。

使用方法如下:

include('memcached.class.php');

$memcached = new SL_Memcached();       //實(shí)例化對(duì)象
$memcached->connect('127.0.0.1:11211');   //連接memcached服務(wù)端

$memcached->set('key1', '我是快樂(lè)的鍵值');   //設(shè)置鍵值
$memcached->set('key2', '我就要被刪了');    //設(shè)置鍵值
$memcached->delete('key2');          //刪除鍵值

var_dump($memcached->get('key1'));      //獲取鍵值
var_dump($memcached->get('key2'));      //獲取鍵值
?>

輸出:

string(21) "我是快樂(lè)的鍵值"

NULL

四、客戶端篇:php-memcached

4.1 安裝libmemcached

[官網(wǎng)] http://libmemcached.org/

命令流程:

# yum install libmemcached libmemcached-devel

4.2 安裝php-memcached

[官方網(wǎng)站] http://pecl.php.net/package/memcached

命令流程:

# cd /source/
# wget http://pecl.php.net/get/memcached-3.0.3.tgz
# tar -zxvf memcached-3.0.3.tgz
# cd memcached-3.0.3
# /lnmp/php/bin/phpize
# ./configure --with-php-config=/lnmp/php/bin/php-config
# make && make install

備注:

安裝成功后會(huì)有如下類(lèi)似提示:

Installing shared extensions:    /lnmp/php/lib/php/extensions/no-debug-non-zts-20151012/

這說(shuō)明在 /lnmp/php/lib/php/extensions/no-debug-non-zts-20151012/ 該目錄下會(huì)生成memcached.so

這個(gè)就是memcached.so所在目錄。我們先記住這個(gè)目錄。

開(kāi)始配置php-memcached

打開(kāi)php.ini

# vi /lnmp/php/etc/php.ini

在合適的位置添加如下
extension = /lnmp/php/lib/php/extensions/no-debug-non-zts-20151012/memcached.so

五、常見(jiàn)錯(cuò)誤總匯

5.1 Unable to load dynamic library 'memcached.so' - libmemcached.so.11: cannot open shared object file: No such file or directory in Unknown no line 0

說(shuō)明:沒(méi)有找到php的附加庫(kù)memcached.so所需動(dòng)態(tài)庫(kù)libmemcached.so.11。出現(xiàn)上述錯(cuò)誤一般是沒(méi)有將libmemcached目錄設(shè)置到環(huán)境變量里。

我們添加到環(huán)境變量LD_LIBRARY_PATH里就搞定了。

# export LD_LIBRARY_PATH=/package/libmemcached/lib:$LD_LIBRARY_PATH


新聞名稱(chēng):CentOS7從零開(kāi)始安裝編譯Memcached及配置
文章網(wǎng)址:http://www.dlmjj.cn/article/cochcpo.html