Memcached的安裝以及PHP擴充套件的安裝

2021-09-25 14:06:28 字數 3324 閱讀 1533

memcache用到了libevent這個庫用於socket的處理,所以還需要安裝libevent。(如果你的系統已經安裝了libevent,可以不用安裝)

官網:

wget 

tar zxvf libevent-1.4.9-stable.tar.gz

cd libevent-1.4.9-stable

./configure --prefix=/usr/local

make

make install

安裝memcache

d

wget 

tar -zxvf memcached-1.4.0.tar.gz

cd memcached-1.4.0

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

make

make install

安裝完成後的memcached在 /usr/local/bin/memcached  

這時執行memcached -m 500 -p 11333, 有可能會出現:

memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: no such file or directory 

這說明沒有找到檔案:libevent-1.2.so.1

解決辦法如下:

第一步. 檢視下lib路徑:

which memcached 得到

/usr/local/memcached/bin/memcached

ld_debug=libs /usr/local/memcached/bin/memcached -v 

第二步. 將libevent-1.2.so.1拷貝到任何乙個列出的lib下。或者軟鏈結到列出的lib下(很多情況下是/usr/lib下有該檔案,需要把該檔案拷貝到/usr/lib64/下)

啟動memcached,-m表示分配的記憶體

/usr/local/memcached/bin/memcached -d -m 1024 -u admin -l 127.0.0.1 -p 11211

引數說明:

-d選項是啟動乙個守護程序

-m是分配給memcache使用的記憶體數量,單位是mb,我這裡是10mb

-u是執行memcache的使用者,我這裡是root

-l是監聽的伺服器ip位址

-p是設定memcache監聽的埠,最好是1024以上的埠

-c選項是最大執行的併發連線數,預設是1024,按照你伺服器的負載量來設定

-p是設定儲存memcache的pid檔案

#關閉防火牆。

#永久性生效,重啟後不會復原 

開啟: chkconfig iptables on 

關閉: chkconfig iptables off 

#即時生效,重啟後復原 

開啟: service iptables start 

關閉: service iptables stop 

#修改/etc/sysconfig/iptables檔案,

新增-a rh-firewall-1-input -m state --state new -m tcp -p tcp --dport 11211 -j accept 

結束memcache程序。

kill cat /tmp/memcached.pid

監測是否啟動成功方式

telnet 192.168.160.129 11211

直接敲擊stats命令

memcache的常見概念

memcached會預先分配記憶體,memcached分配記憶體方式稱之為allocator,首先,這裡有3個概念: 1 slab 2 page 3 chunk 解釋一下,一般來說乙個memcahced程序會預先將自己劃分為若干個slab,每個slab下又有若干個page,每個page下又有多 個chunk,如果我們把這3個咚咚看作是object得話,這是兩個一對多得關係。再一般來說,slab得數量是有限得,幾個,十幾個,或者幾十個,這 個跟程序配置得記憶體有關。而每個slab下得page預設情況是1m,也就是說如果乙個slab占用100m得記憶體得話,那麼預設情況下這個slab所擁 有得page得個數就是100,而chunk就是我們得資料存放得最終地方

memcache的常用命令

查詢狀態命令:stats:    

查詢版本號 version

退出命令 quit

清空快取資料(其實是將所有快取資料標記為過期):flush_all

memcached 操作:

telnet localhost 11211

set foo 0 0 3

bar 

stored

get foo

value foo 0 3

barquit

memcache命令:

shell操作memcache:

1、資料儲存(假設key為foo,value為123)

printf "set foo 0 0 3\r\n123\r\n" | nc 127.0.0.1 11211

stored

2、資料取回(假設key為foo)

printf "get foo\r\n" | nc 127.0.0.1 11211

value foo 0 3

123end

3、數值增加1(假設key為foo,並且value為正整數)

printf "incr foo 1\r\n" | nc 127.0.0.1 11211

1244、數值減少3(假設key為foo,並且value為正整數)

printf "decr foo 3\r\n" | nc 127.0.0.1 11211

1215、資料刪除(假設key為foo)

printf "delete foo\r\n" | nc 127.0.0.1 11211

deleted

6、檢視memcached狀態

printf "stats\r\n" | nc 127.0.0.1 11211

stat pid 22563

stat uptime 90706

7、模擬top命令,檢視memcached狀態:

watch "printf 'stats\r\n' | nc 127.0.0.1 11211" 

watch "echo stats | nc 127.0.0.1 11211"

linux下memcached安裝以及啟動

3.由於linux系統可能預設已經安裝libevent,執行命令 rpm qa grep libevent檢視系統是否帶有該安裝軟體 如果有執行命令 rpm e libevent 1.1a 3.2.1 nodeps 由於系統自帶的版本舊,忽略依賴刪除 4.安裝libevent,tar zxvf li...

memcached編譯安裝

tar xvf memcached 1.4.15.tar.gz cd memcached 1.4.15 configure prefix usr local memcache 出現了 configure error libevent is required.you can get it from t...

memcached 的原始碼安裝

伺服器端主要是安裝memcache伺服器端.另外,memcache用到了libevent這個庫用於socket的處理,所以還需要安裝libevent,libevent的最新版本是libevent 1.3。如果你的系統已經安裝了libevent,可以不用安裝 官網 1.先安裝libevent。這個東西...