memcached常见命令

1、启动Memcache 常用参数 -p <num>      设置端口号(默认不设置为: 11211) -U <num>      UDP监听端口(默认: 11211, 0 时关闭) -l <ip_addr>  绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问) -d            独立进程运行 -u <username> 绑定使用指定用于运行进程<username> -m <num>      允许最大内存用量,单位M (默认: 64 MB) -P <file>     将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与-d 一起使用 如: 在linux下:./usr/local/bin/memcached -d -u jb-mc -l 192.168.1.197 -m 2048 -p 12121 在window下:d:\App_Serv\memcached\memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500 在windows下注册为服务后运行: sc.exe create jb-Memcached binpath= “d:\App_Serv\memcached\memcached.exe -d RunService -p 11211 -m 500″start= auto net start jb-Memcached 2、连接:telnet 127.0.0.1 11211 3、您将使用五种基本memcached 命令执行最简单的操作。这些命令和操作包括: set: 用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。 add :仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应NOT_STORED 。 replace:仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那么您将从memcached 服务器接受到一条NOT_STORED 响应。 get:用于检索与之前添加的键值对相关的值。 delete:用于删除memcached 中的任何现有值。您将使用一个键调用delete ,如果该键存在于缓存中,则删除该值。如果不存在,则返回一条NOT_FOUND 消息。 gets:功能类似于基本的get 命令。两个命令之间的差异在于,gets 返回的信息稍微多一些:64 位的整型值非常像名称/值对的 “版本” 标识符。 前三个命令是用于操作存储在memcached 中的键值对的标准修改命令。它们都非常简单易用,且都使用清单5 所示的语法: command <key> <flags> <expiration time> <bytes> <value> 表1. memcached 修改命令参数 参数       用法 key  key 用于查找缓存值 flags       可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 expiration time       在缓存中保存键值对的时间长度(以秒为单位,0 表示永远) bytes       在缓存中存储的字节点 value       存储的值(始终位于第二行) 例子: set useID 0 0 5 1234 4、缓存管理命令 最后两个memcached 命令用于监控和清理memcached 实例。它们是stats 和flush_all 命令。 stats :转储所连接的memcached 实例的当前统计数据。 flush_all:用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态,则flush_all 能提供很大的用处。 查看memcached状态的基本命令,通过这个命令可以看到如下信息: STAT pid 22459                             进程ID STAT uptime 1027046                        服务器运行秒数 STAT time 1273043062                       服务器当前unix时间戳 STAT version 1.4.4                         服务器版本 STAT pointer_size 64                       操作系统字大小(这台服务器是64位的) STAT rusage_user 0.040000                  进程累计用户时间 STAT rusage_system 0.260000                进程累计系统时间 STAT curr_connections 10                   当前打开连接数 STAT total_connections 82                  曾打开的连接总数 STAT connection_structures 13              服务器分配的连接结构数 STAT cmd_get 54                            执行get命令总数 STAT cmd_set 34                            执行set命令总数 STAT cmd_flush 3                           指向flush_all命令总数 STAT get_hits 9                            get命中次数 STAT get_misses 45                         get未命中次数 STAT delete_misses 5                       delete未命中次数 STAT delete_hits 1                         delete命中次数 STAT incr_misses 0                         incr未命中次数 STAT incr_hits 0                           incr命中次数 STAT decr_misses 0                         decr未命中次数 STAT decr_hits 0                           decr命中次数 STAT cas_misses 0    cas未命中次数 STAT cas_hits 0                            cas命中次数 STAT cas_badval 0                          使用擦拭次数 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 15785                      读取字节总数 STAT bytes_written 15222                   写入字节总数 STAT limit_maxbytes 1048576                分配的内存数(字节) STAT accepting_conns 1                     目前接受的链接数 STAT listen_disabled_num 0 STAT threads 4                             线程数 STAT conn_yields 0 STAT bytes 0                               存储item字节数 STAT curr_items 0                          item个数 STAT total_items 34                        item总数 STAT evictions 0                           为获取空间删除item的总数

在Linux上安装Memcached服务

下载并安装Memcache服务器端 服务器端主要是安装memcache服务器端. 下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装) 官网:http://www.monkey.org/~provos/libevent/ 下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz 用wget指令直接下载这两个东西.下载回源文件后。 1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install; 2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr;然后make;然后make install; 这样就完成了Linux下Memcache服务器端的安装。详细的方法如下: 1.分别把memcached和libevent下载回来,放到 /tmp 目录下: # cd /tmp # wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz # wget http://www.monkey.org/~provos/libevent-1.2.tar.gz 2.先安装libevent: # tar zxvf libevent-1.2.tar.gz # cd libevent-1.2 # ./configure –prefix=/usr # make # make install 3.测试libevent是否安装成功: # ls -al /usr/lib | grep libevent lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3 -rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3 -rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a -rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3 还不错,都安装上了。 4.安装memcached,同时需要安装中指定libevent的安装位置: # cd /tmp # tar zxvf memcached-1.2.0.tar.gz # cd memcached-1.2.0 # ./configure –with-libevent=/usr # make # make install 如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。 安装完成后会把memcached放到 /usr/local/bin/memcached , 5.测试是否成功安装memcached: # ls -al /usr/local/bin/mem* -rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached -rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug 启动Memcached服务: 1.启动Memcache的服务器端: # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid -d选项是启动一个守护进程, -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, -u是运行Memcache的用户,我这里是root, -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200, -p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口, -c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定, -P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid, 2.如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。 测试Memcached:
复制代码
[root@localhost /]# telnet 192.168.141.64 12000 Trying 192.168.141.64... Connected to 192.168.141.64 (192.168.141.64). Escape character is '^]'. set key1 0 60 4 zhou STORED get key1 VALUE key1 0 4 zhou END
复制代码
至此Memcached安装成功! 常见问题: 1.如果启动Memcached服务的时候遇到了 /usr/local/bin/memcached: error while loading shared libraries: libevent-1.2.so.1: cannot open shared object file: No such file or directory; 解决方案:
[root@localhost bin]# LD_DEBUG=libs memcached -v [root@localhost bin]# ln -s /usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1 [root@localhost bin]# /usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P /tmp/memcached.pid [root@localhost bin]# ps -aux
可以看到启动的Memcached服务了. 2.把Memcached服务加载到Linux的启动项中.万一机器断电系统重启.那么Memcached就会自动启动了. 假如启动Memcache的服务器端的命令为: # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid容来自17jquery 想开机自动启动的话,只需在/etc/rc.d/rc.local中加入一行,下面命令 /usr/local/memcached/bin/memcached -d -m 10 -p 12000 -u apache -c 256 上面有些东西可以参考一下:即,ip不指定时,默认是本机,用户:最好选择是:apache 或 deamon 这样,也就是属于哪个用户的服务,由哪个用户启动。 原文 http://www.cnblogs.com/zgx/archive/2011/08/10/2134097.html