分布式缓存技术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用的是内网

相关文章
相关标签/搜索