过程如下:
tar -xf libevent-2.0.20-stable.tar.gz
cd libevent-2.0.20-stable
./configure --prefix=/usr/local/libevent
make
make install
tar -xf memcached-1.4.22.tar.gz
cd memcached-1.4.22
./configure --prefix=/usr/local/memached --with-libevent=/usr/local/libevent/
make && make install
启动Memcached
[root@www bin]# ./memcached -p 11211 -m 64 -f 1.5 -u nobody -vvv -d
slab class 1: chunk size 80 perslab 13107
slab class 2: chunk size 120 perslab 8738
slab class 3: chunk size 184 perslab 5698
slab class 4: chunk size 280 perslab 3744
slab class 5: chunk size 424 perslab 2473
slab class 6: chunk size 640 perslab 1638
slab class 7: chunk size 960 perslab 1092
slab class 8: chunk size 1440 perslab 728
slab class 9: chunk size 2160 perslab 485
slab class 10: chunk size 3240 perslab 323
slab class 11: chunk size 4864 perslab 215
slab class 12: chunk size 7296 perslab 143
slab class 13: chunk size 10944 perslab 95
slab class 14: chunk size 16416 perslab 63
slab class 15: chunk size 24624 perslab 42
slab class 16: chunk size 36936 perslab 28
slab class 17: chunk size 55408 perslab 18
slab class 18: chunk size 83112 perslab 12
slab class 19: chunk size 124672 perslab 8
slab class 20: chunk size 187008 perslab 5
slab class 21: chunk size 280512 perslab 3
slab class 22: chunk size 420768 perslab 2
slab class 23: chunk size 631152 perslab 1
slab class 24: chunk size 1048576 perslab 1
可以利用./memcached -h的方式来了解一些选项的作用:
-p TCP port number to listen on (default: 11211) 指定端口
-l interface to listen on (default: INADDR_ANY, all addresses)
监听地址,想一想,如果我们的机器上有多个网卡我们监听在哪个网卡上呢?
-d run as a daemon 表示以一个后台服务的方式运行
-u assume identity of (only when run as root)
以哪个用户的身份运行
-m max memory to use for items in megabytes (default: 64 MB)
以M为单位指定最大的内存空间
要知道Memcached是基于Client/Server架构的,上面的是启动Server端,表示Memcached已经有64M内存空间来进行缓存数据管理。至于设置哪些缓存数据,数据有效期是多少等这些都是客户端的事情。很多语言都实现了Memcached客户端,比如Java/PHP等。需要注意的是,Memcached的一个重要特征--协议简单。比如,我们就可以使用telnet来操作Memcached:
[root@www ~]# telnet 192.168.204.88 11211
Trying 192.168.204.88...
Connected to www.zfz2.com (192.168.204.88).
Escape character is '^]'.
stats stats命令可以获取到Memcached运行时相关信息。
一些常用命令:
add命令 添加新键
add keyname flag timeout datasize
add name 0 30 5
hello
STORED
get命令 取得键值
get keyname
get name
VALUE name 0 5
hello
END
set 无条件设置一个键
说白了,就是有键则覆盖,无键则添加。
set keyname flag timeout datasize
replace 替换已经存在的KEY
replace keyname flag timeout datasize
append keyname flag timeout append_datasize
prepend keyname flag timeout prepend_datasize
add name 0 60 5
hello
STORED
get name
VALUE name 0 5
hello
END
append name 0 60 2
aa
STORED
get name
VALUE name 0 7
helloaa
END