服务端:

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

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

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

删除数据
[root@yz6245 ~]# printf "delete key1\r\n" |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\r\n" |nc 10.39.6.245 11211 #统计各种信息

[root@yz6245 memcached]# printf "stats settings\r\n" |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/

memcache笔记的更多相关文章

  1. memcache 笔记

    在windows下安装memecache,进入到安装目录,执行帮助命令可以查看到相关帮助 启动memcache,相关命令如上,比如-p就是端口号,memcache默认端口号是11211 语法:增加ad ...

  2. Memcache笔记05-Memcache安全性

    Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,因为Mecache是以 ...

  3. Memcache笔记03-php操作Memcached

    通过php程序操作Memcached服务几种形式 Memcache 扩展 Memcached 扩展 Socket套接字操作 memcached-client.php(函数) 对于php扩展来说,dan ...

  4. php 与 memcache 笔记

    一:安装 Memcache是什么Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力.它 ...

  5. Memcache 笔记(2)

    一.Memcache概述出现的原因:随着数据量的增大,访问的集中,使得数据库服务器的负担加重,数据库响应恶化,网站显示延迟等 memcache:是高性能的分布式内存缓存服务器.通过缓存数据库的查询结果 ...

  6. Memcache笔记(1)

    缓存主要分为:页面缓存和数据缓存 Memcache .redis.mongodb都是做数据缓存的 Memcache是什么? 是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的ha ...

  7. Memcache笔记02-telnet操作memcached

    telnet操作Memcached 登录到telnet连接到memcached服务: telnet 127.0.0.1 11211 memcached的基本命令: //当telnet登录成功可以看到一 ...

  8. Memcache笔记01-Memcache的安装

    memcached是什么? Memcached是一个高性能的分布式的内存对象缓存系统,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力,通过在内存里维护一个统一的巨大的has ...

  9. Memcache笔记04-Memcached机制深入了解

    Memcached机制深入了解 ①基于c/s架构 ,协议简单 c/s架构,此时memcached为服务器端,我们可以使用如PHP,c/c++等程序连接memcached服务器. memcached的服 ...

随机推荐

  1. smart git使用+单人开发一般流程

    单人开发一般流程 clone checkout develop start gitflow start feature 写代码... 选中文件stage(相当于add) commit push fea ...

  2. 兼容获取元素当前样式 currentStyle || getComputedStyle

    function getStyle(ele, attr) { return ele.currentStyle ? ele.currentStyle[attr] : window.getComputed ...

  3. JavaScript教程1

    1.什么是 JavaScript? JavaScript 是一门跨平台.面向对象的动态的弱类型的轻量级解释型语言,是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言.应用于 HTML 文档能够在 ...

  4. Java集合的遍历方式

    Map的遍历 1.通过map.entrySet遍历Key和Value Map<Integer,Integer> map = new HashMap<>(); map.put(1 ...

  5. C#前后端交互

    后台接收 方式1: Request.Form[""] post Request.QueryString[""] get System.Web.HttpConte ...

  6. js 添加css属性

    $(".active").css('border','1px solid #ddd')curLi.css('border','2px solid red')curLi.css('b ...

  7. 转:MVC遇上bootstrap后的ajax表单验证

    使用bootstrap后他由他自带的样式has-error,想要使用它就会比较麻烦,往常使用jqueyr.validate的话只有使用他自己的样式了,而且有模型在使用模型验证更方便点.怎么解决呢? 当 ...

  8. akka框架地址

    http://doc.akka.io/docs/akka/2.2.3/AkkaJava.pdf

  9. for 循环与嵌套

    循环:反复执行某段代码.循环四要素:初始条件,循环条件,循环体,状态改变 for(初始条件;循环条件;状态改变){ 循环体} 给出初始条件,先判断是否满足循环条件,如果不满足条件则跳过for语句,如果 ...

  10. url末尾的斜杠作用探秘

    今天突然好奇,想区分www.abc.com/efg 和www.abc.com/efg/这两个网址的区别.即分析一下url末尾加个斜杠是否有特殊的效果. 找到网上的介绍: 当Web服务器接收到对某个末尾 ...