程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 分布式memcached學習(一)——linux環境下編譯memcahed,memcachedmemcahed

分布式memcached學習(一)——linux環境下編譯memcahed,memcachedmemcahed

編輯:JAVA綜合教程

分布式memcached學習(一)——linux環境下編譯memcahed,memcachedmemcahed


安裝依賴工具

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

下載並上傳文件

memcached 依賴於 libevent 庫,因此我們需要先安裝 libevent.,ibevent和memcached的下載路徑

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

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

 

[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

 

報錯:

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

 

      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目錄下。

啟動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已經啟動,並把信息輸出到控制台。

各個參數解析:

-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*

 

linux連接memcached

[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>

 

可以看到memcached控制台輸出了客戶端連接的信息

 

<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的控制台輸入telnet 192.168.1.112 11211即可連接。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved