telnet连接操作memcache服务器详解
memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维护。假设memcache安装目录:/usr/local/memcached
1、启动memcache
[root@localhost~]#/usr/local/memcached/bin/memcached-d-m512 -uroot-l192.168.119.70-p12000-c512-P/usr/local/memcached/memcached.pid
启动参数详解
-d:以守护进程方式启动。如果该参数没有指定,当按ctrl+c命令结束,memcache自动关闭
-m:分配给memcache使用的最大内存数单位是m,默认是64m
-u:指定运行memcache的用户
-l:指定监听的ip地址
-p:指定监听的tcp端口号,可以通过-u指定udp端口.默认是11211
-c:最大并发连接数
-P:报错进程id的文件
memcache启动之后,我们就可以通过telnet连接memcache,对其进行简单操作管理。
2、telnet连接memcache
[root@localhost~]#telnet192.168.119.7012000 Trying192.168.119.70... Connectedto192.168.119.70(192.168.119.70). Escapecharacteris'^]'.
连接成功之后,即可对memcache进行操作管理了,常用的命令有:
Ⅰ、添加修改
命令格式:<command><key><flags><exptime><bytes>\r\n<datablock>\r\n
<command>:add,set或replace
<key>:缓存的名字
<flag>:16位无符号整数,和key要存储的数据一起存储,并在程序get缓存时,返回。
<exptime>:过去时间,0表示永远不过期,如果非零,表示unix时间或距此秒数
<bytes>:存储数据的字节数
\r\n:表示换行回车
命令结果:
STORED:表示成功
NOT_STORED:表示失败
a)、添加缓存
addid104 1234 STORED
如果key已经存在,则会添加失败。
b)、修改缓存
replaceid104 3456 STORED
key存在时,成功;不存在时,失败。
c)、设置缓存
setid104 2345 STORED
key不存在时,添加【add】;已存在时,替换【replace】。
Ⅱ、读取
命令格式:get<key>+\r\n
<key>+:表示一个或多个key,多个key时,用空格隔开
a)、读取单个key的缓存
getid VALUEid14 1234 END
b)、读取多个key的缓存
getidname VALUEid14 3456 VALUEname13 jim END
Ⅲ、删除
命令格式:delete<key>\r\n
<key>:要删除的key
删除id
deleteid DELETED
Ⅳ、清空所有缓存
命令格式:flush_all
flush_all OK
Ⅴ、查看缓存服务器状态
命令:stats
stats STATpid2711 //进程id STATuptime2453 //总的运行时间,单位描述 STATtime1344856333 //当前时间 STATversion1.4.0//版本 STATpointer_size32 //服务器指针位数,一般32位操作系统是32 STATrusage_user0.002999 //进程的累计用户时间 STATrusage_system1.277805 //进程的累计系统事件 STATcurr_connections1 //当前连接数 STATtotal_connections11 //服务器启动后,总连接数 STATconnection_structures11 //连接结构的数量 STATcmd_get17 //总获取次数 STATcmd_set1 //总写入次数 STATcmd_flush1 //总的的清空次数 STATget_hits1 //总的命中次数 STATget_misses7 //获取没有命中次数 STATdelete_misses//删除没有命中次数 STATdelete_hits4 //删除命中次数 STATincr_misses//递增操作没有命中次数 STATincr_hits//递增操作命中次数 STATdecr_misses//递减操作没有命中的次数 STATdecr_hits//递减操作命中的次数 STATcas_misses//cas设置没有命中次数 STATcas_hits//cas命中次数 STATcas_badval//cas操作找到key,但版本过期,没有设置成功 STATbytes_read455 //总共获取数据量 STATbytes_written1175 //总共写入数据量 STATlimit_maxbytes1048576 //最大允许使用内存,单位字节 STATaccepting_conns1 STATlisten_disabled_num0 STATthreads5 //当前线程数 STATconn_yields0 STATbytes56 //已用缓存空间 STATcurr_items1 //当前缓存的keyvalue数 STATtotal_items7//总共缓存的keyvalue数,包括过期删除的 STATevictions//通过删除keyvalue,释放内存次数 END
Ⅵ、打印版本
命令:version
version VERSION1.4.0
Ⅶ、打印内存信息
命令:statsslabs
statsslabs STAT1:chunk_size80 STAT1:chunks_per_page13107 STAT1:total_pages1 STAT1:total_chunks13107 STAT1:used_chunks1 STAT1:free_chunks1 STAT1:free_chunks_end13105 STAT1:get_hits10 STAT1:cmd_set10 STAT1:delete_hits4 STAT1:incr_hits0 STAT1:decr_hits0 STAT1:cas_hits0 STAT1:cas_badval0 STATactive_slabs1 STATtotal_malloced1048560 END
3、退出telnet
quit
完!