簡(jiǎn)介
Memcached:
官網(wǎng):http://memcached.org/
Memcached是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。
與redis有點(diǎn)類似。具體的區(qū)別:http://blog.csdn.net/tonysz126/article/details/8280696/memcached:
php官網(wǎng)介紹:http://php.net/manual/zh/intro.memcached.php
github地址:https://github.com/php-memcached-dev/php-memcached
php的一個(gè)擴(kuò)展。
此擴(kuò)展使用了libmemcached庫(kù)提供的api與memcached服務(wù)端進(jìn)行交互。它同樣提供了一個(gè)session處理器(memcached)。 它同時(shí)提供了一個(gè)session處理器(memcached)。memcache:
php官網(wǎng)介紹:http://php.net/manual/zh/intro.memcache.php
github地址:https://github.com/websupport-sk/pecl-memcache
php的一個(gè)擴(kuò)展。
memcache模塊提供了于Memcached方便的面向過(guò)程及面向?qū)ο蟮慕涌冢琺emcached是為了降低動(dòng)態(tài)web應(yīng)用 從數(shù)據(jù)庫(kù)加載數(shù)據(jù)而產(chǎn)生的一種常駐進(jìn)程緩存產(chǎn)品。
memcache模塊同時(shí)提供了一個(gè)session 處理器 (memcache)。
是一個(gè)過(guò)時(shí)的擴(kuò)展,與memcached的區(qū)別:http://www.cnblogs.com/scotoma/archive/2011/02/15/1955573.html
起因
實(shí)習(xí)的公司里面需要使用Memcached進(jìn)行數(shù)據(jù)的緩存,但我之前只接觸過(guò)redis,所以對(duì)Memcached并不熟悉。以為它也有類似redis的第三方圖形化客戶端,方便查看數(shù)據(jù),但找了半天只找到一個(gè)php的web版客戶端memadmin:
https://github.com/kidayi/memAdmin
部署完該項(xiàng)目后發(fā)現(xiàn)沒(méi)有安裝memcache擴(kuò)展,不能運(yùn)行。嘗試修改源碼,替換為memcached的函數(shù)后大部分功能依舊不能實(shí)現(xiàn),所以只能再安裝memcache擴(kuò)展。
不過(guò)中間遇到不少問(wèn)題,又加上快下班了所以就放棄了。不過(guò)最近請(qǐng)了將近一個(gè)月的假,所以有時(shí)間來(lái)嘗試解決這個(gè)問(wèn)題(公司居然還沒(méi)讓我走人=_=, 可以繼續(xù)白嫖 ( ′°????????ω°????????`) )。
不過(guò)安裝過(guò)程也遇到不少坑。。。。。。
過(guò)程
環(huán)境與需求介紹:
ubuntu16安裝Memcached(這個(gè)ubuntu是當(dāng)時(shí)學(xué)laravel時(shí)用vagrant裝的虛擬機(jī))
php7.1安裝memcached與memcache
由于目前大部分php教程都是5.x版本,所以在檢索時(shí)最好加上php7這個(gè)條件。
安裝Memcached
sudo apt-cache search memcached //搜索相關(guān)包名
sudo apt-cache show memcached //顯示詳細(xì)介紹
sudo apt-get install memcached //安裝Memcached
ps -auwx | grep memcached //查看是否安裝成功并啟動(dòng)
安裝php的memcache擴(kuò)展
在PECL上并沒(méi)有php7的相關(guān)擴(kuò)展所以只能在github中找到相關(guān)源碼再進(jìn)行編譯安裝。
關(guān)于phpize:http://php.net/manual/zh/install.pecl.phpize.php
關(guān)于php-config:http://www.php.net/manual/zh/install.pecl.php-config.php
git clone https://github.com/websupport-sk/pecl-memcache.git //克隆源碼
phpize //打開(kāi)源碼目錄后執(zhí)行該命令
./configure --with-php-config=php-config //執(zhí)行腳本并配置php-config
sudo make && sudo make install //編譯并安裝
安裝完成后,會(huì)顯示memcache.so文件的所在目錄。
配置php7,添加擴(kuò)展。
php -i | grep php.ini //查看php.ini位置
//找到相關(guān)目錄后發(fā)現(xiàn)php.ini中并沒(méi)有其他擴(kuò)展的配置信息,而是在conf.d文件夾中找到了配置php多個(gè)擴(kuò)展的配置文件
echo 'extension=memcache.so' > ./memcache.conf //添加memcache的擴(kuò)展配置文件
ps -auwx | grep php
sudo kill php-id && sudo php-fpm //重啟php
php -m //查看當(dāng)前php啟用的擴(kuò)展
安裝php的memcached擴(kuò)展
其實(shí)我的這臺(tái)虛擬機(jī)中php的memcached擴(kuò)展已經(jīng)安裝好了,但我沒(méi)注意,所以又重新安裝了一遍。。。。。。
安裝memcached的擴(kuò)展可能需要安裝其他軟件,比如:libmemcached 客戶端庫(kù),zlib模塊等。
安裝方法都差不多,首先在apt中搜索,如果沒(méi)有就考慮自己下載源碼手工編譯安裝。
安裝memcached擴(kuò)展和memcache類似,所以就不啰嗦了。。。。。
具體可以參考:
這篇是針對(duì)php5版本的,不過(guò)里面講了部分安裝時(shí)的配置,所以還是很必要的:
http://www.cnblogs.com/phpstudy2015-6/archive/2017/04/05/6670103.html
這篇是針對(duì)php7版本的:
http://www.lnmp.cn/install-memcache-and-memcached-extends-under-php7.html
總結(jié)
c和c++還是厲害啊。。。。。