分佈式緩存技術memcached學習(一)——linux環境下編譯memcahed

安裝依賴工具

[root@localhost upload]# yum  install gcc  make  cmake  autoconf  libtool

下載並上傳文件

memcached 依賴於 libevent 庫,所以咱們須要先安裝 libevent.,ibevent和memcached的下載路徑html

http://sourceforge.net/projects/levent/?source=typ_redirectlinux

https://github.com/memcached/memcached/wiki/ReleaseNotes1425git

[root@localhost upload]# ls
libevent-2.0.22-stable  libevent-2.0.22-stable.tar.gz  memcached-1.4.25.tar.gz
[root@localhost upload]#

解壓編譯

[root@localhost upload]#tar zxvf libevent-2.0.21-stable.tar.gz
 
[root@localhost upload]# cd libevent-2.0.22-stable
[root@localhost upload]#./configure  --prefix=/usr/local/libevent
[root@localhost upload]#make && make install
 
[root@localhost upload]# tar zxvf memcached-1.4.25.tar.gz
[root@localhost upload]# cd memcached-1.4.25
[root@localhost upload]# ./configure  --prefix=/usr/local/memcached

報錯:github

checking for libevent directory... configure: error: libevent is required.  You can get it from http://www.monkey.org/~provos/libevent/windows

 

      If it's already installed, specify its path using --with-libevent=/dir/服務器

 

提示須要libevent,須要指明libevent的安裝目錄數據結構

[root@localhost upload]#
./configure  --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
 
[root@localhost memcached-1.4.25]# make && make install

沒什麼錯誤提示的話,編譯成功。併發

Memcached已經成功安裝到/usr/local/memcached/bin/memcached目錄下。tcp

啓動memcached

[root@localhost memcached-1.4.25]# /usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -vv
slab class   1: chunk size        80 perslab   13107
slab class   2: chunk size       104 perslab   10082
slab class   3: chunk size       136 perslab    7710
slab class   4: chunk size       176 perslab    5957
slab class   5: chunk size       224 perslab    4681
slab class   6: chunk size       280 perslab    3744
slab class   7: chunk size       352 perslab    2978
......

能夠看到memcached已經啓動,並把信息輸出到控制檯。memcached

各個參數解析:

-m 內存大小

-p  端口

-u  用戶

-vv 詳細信息

 

若是咱們想讓memcached做爲守護進程在後臺運行,只須要加-d選項

[root@localhost memcached-1.4.25]#/usr/local/memcached/bin/memcached -m 64 -p 11211 -u nobody -d

幾個重要參數

摘自網上的幾個重要參數

-p <num>      監聽的TCP端口(默認: 11211) 
-d            做爲守護進程來運行。 
-u <username> 設定進程所屬用戶。(只有root用戶可使用這個參數) 
-m <num>      全部slab class可用內存的上限,以MB爲單位。(默認:64MB) 
              (譯者注:也就是分配給該memcached實例的內存大小。) 
-c <num>      最大併發鏈接數。(默認:1024) 
-v            提示信息(在事件循環中打印錯誤/警告信息。) 
-vv           詳細信息(還打印客戶端命令/響應) 
-vvv          超詳細信息(還打印內部狀態的變化) 
-h            打印這個幫助信息並退出。 
-f <factor>   不一樣slab class裏面的chunk大小的增加倍率(增加因子)。(默認:1.25) 
              (譯者注:每一個slab class裏面有相同數量個slab page,每一個slab page裏面有chunk,且在當前slab class內的chunk大小固定。 
              而不一樣slab class裏的chunk大小不一致,具體差別就是根據這個參數的倍率在增加,直到分配的內存用盡。) 
-n <bytes>    chunk的最小空間(默認:48) 
              (譯者注:chunk數據結構自己須要消耗48個字節,因此一個chunk實際消耗的內存是n+48。)

下面咱們將介紹memcached的鏈接

安裝telnet工具

memcached客戶端與服務器端的通訊比較簡單,使用的基於文本的協議,而不是二進制協議.

(http協議也是這樣), 所以咱們經過telnet便可與memcached做交互

[root@localhost libevent-2.0.22-stable]# yum install telnet*

這裏補充下 檢查本身系統是否已經安裝了telnet工具請移步我另一篇博客 http://www.cnblogs.com/shanheyongmu/p/6269414.html

 

linux鏈接memcached (舒適提示linux 直接ifconfig 填寫本身的內網IP)

[root@localhost libevent-2.0.22-stable]# telnet 192.168.1.112 11211
Trying 192.168.1.112...
Connected to 192.168.1.112.
Escape character is '^]'.

按下Ctrl + ] 打開回顯功能,Enter便可.以下:

[root@localhost libevent-2.0.22-stable]# telnet 192.168.1.112 11211
Trying 192.168.1.112...
Connected to 192.168.1.112.
Escape character is '^]'.
^]
telnet>

到了這一步基本上第二篇的命令輸入 界面就已經到達了 至於原文說的 connection以下的我並無顯示。

<34 server listening (udp)

<35 server listening (udp)

<36 new auto-negotiating client connection

windows鏈接memcached

若是從windows的控制檯鏈接到linux中的memcached,須要打開linux 的 11211端口的訪問權限,以下

 

[root@localhost libevent-2.0.22-stable]# /sbin/iptables -I INPUT -p tcp --dport 11211 -j ACCEPT

 

須要注意的是 windows cmd命令鏈接須要用外網 我看到不少文章都是填寫內網

還有就是 不少人到這一步覺得本身 能夠了就開始輸入命令 其實 ctrl+]了沒有enter回車 

一樣,在windows的控制檯輸入telnet 112.74.178.181 11211便可鏈接。(公網IP)

正確界面以下

 linux用的是內網

相關文章
相關標籤/搜索