memcache笔记

服务端:

通过printf配合nc向memcached中写入数据
[root@yz6245 ~]# printf "set key1 0 0 6 oldboy " |nc 10.39.6.245 11211
STORED
#出现STORED表示成功添加数据

set的字节是6,后面就要有6个字符,否则就会报错
[root@yz6245 ~]# printf "set key2 0 0 5 oldboy " |nc 10.39.6.245 11211
CLIENT_ERROR bad data chunk
ERROR

通过printf配合nc从memcached读取数据
[root@yz6245 ~]# printf "get key1 " |nc 10.39.6.245 11211
VALUE key1 0 6
oldboy
END

删除数据
[root@yz6245 ~]# printf "delete key1 " |nc 10.39.6.245 11211
DELETED


通过telnet写入数据
[root@yz6245 ~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
You have mail in /var/spool/mail/root
[root@yz6245 ~]# telnet 10.39.6.245 11211
Trying 10.39.6.245...
Connected to 10.39.6.245.
Escape character is '^]'.
set user01 0 0 7 #写入数据
oldgirl
STORED
get user01 #浏览数据
VALUE user01 0 7
oldgirl
END
delete user01 #删除数据
DELETED
get user01 #在浏览就没有了
END
quit
Connection closed by foreign host.

提示:telnet连接后如果输入字符错了,可以通过Ctrl+Backspace删除


关闭memcached
ps => kill/pkill


启动多个实例,建议用-P参数指定固定的pid文件
[root@yz6245 ~]# /usr/local/memcached/bin/memcached -d -m 64 -p 11211 -c 8192 -l 10.39.6.245 -u root -v -vv -P /var/run/11211.pid
[root@yz6245 ~]# /usr/local/memcached/bin/memcached -d -m 64 -p 11212 -c 8192 -l 10.39.6.245 -u root -v -vv -P /var/run/11212.pid

[root@yz6245 ~]# ps -ef |grep memcached |grep -v grep
root 26954 1 0 15:33 ? 00:00:00 /usr/local/memcached/bin/memcached -d -m 64 -p 11211 -c 8192 -l 10.39.6.245 -u root -v -vv -P /var/run/11211.pid
root 26998 1 0 15:34 ? 00:00:00 /usr/local/memcached/bin/memcached -d -m 64 -p 11212 -c 8192 -l 10.39.6.245 -u root -v -vv -P /var/run/11212.pid

[root@yz6245 ~]# lsof -i :11211
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 26954 root 26u IPv4 33694094 0t0 TCP yz6245.hadoop.data.sina.com.cn:memcache (LISTEN)
memcached 26954 root 27u IPv4 33694096 0t0 UDP yz6245.hadoop.data.sina.com.cn:memcache
memcached 26954 root 28u IPv4 33694096 0t0 UDP yz6245.hadoop.data.sina.com.cn:memcache
memcached 26954 root 29u IPv4 33694096 0t0 UDP yz6245.hadoop.data.sina.com.cn:memcache
memcached 26954 root 30u IPv4 33694096 0t0 UDP yz6245.hadoop.data.sina.com.cn:memcache
[root@yz6245 ~]# lsof -i :11212
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
memcached 26998 root 26u IPv4 33694389 0t0 TCP yz6245.hadoop.data.sina.com.cn:11212 (LISTEN)
memcached 26998 root 27u IPv4 33694391 0t0 UDP yz6245.hadoop.data.sina.com.cn:11212
memcached 26998 root 28u IPv4 33694391 0t0 UDP yz6245.hadoop.data.sina.com.cn:11212

memcached 26998 root 29u IPv4 33694391 0t0 UDP yz6245.hadoop.data.sina.com.cn:11212
memcached 26998 root 30u IPv4 33694391 0t0 UDP yz6245.hadoop.data.sina.com.cn:11212

关闭
[root@yz6245 ~]# kill `cat /var/run/11211.pid`

关闭方法小结:
[root@yz6245 ~]# ps -ef |grep memcached |grep -v grep |awk '{print $2}'|xargs kill
[root@yz6245 ~]# ps -ef |grep memcached |grep -v grep
[root@yz6245 ~]#

客户端:

准备lNMP环境(略)
yum install -y gcc texinfo
tar -zxf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure --prefix=/usr/local/libevent
make && make install

http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make && make install

[root@yz6205 memcache-2.2.5]# ls -l /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
total 1904
-rwxr-xr-x 1 root root 259872 Jun 17 13:31 memcache.so
-rwxr-xr-x 1 root root 1101488 Jun 16 18:20 opcache.a
-rwxr-xr-x 1 root root 584596 Jun 16 18:20 opcache.so

vim /usr/local/php/etc/php.ini #添加如下内容
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"
extension=memcache.so

重启php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini

 看到如下界面说明memcache客户端安装成功了

[root@yz6245 memcached]# printf "stats " |nc 10.39.6.245 11211 #统计各种信息

[root@yz6245 memcached]# printf "stats settings " |nc 10.39.6.245 11211 #统计设置信息,如线程数
stats slabs #查看slab相关信息

通过memadmin php工具展示memcache状态信息
http://www.junopen.com/memadmin/memadmin-1.0.12.tar.gz

解压到虚拟主机站点目录下
tar zxvf memadmin-1.0.12.tar.gz -C /data0/nginx/html/

原文地址:https://www.cnblogs.com/liyongsan/p/5594018.html