telnet连接操作memcache服务器详解

所属分类: 数据库 / 数据库其它 阅读数: 90
收藏 0 赞 0 分享

memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维护。假设memcache安装目录:/usr/local/memcached

1、启动memcache

复制代码 代码如下:

[root@localhost ~]# /usr/local/memcached/bin/memcached -d -m 512  -u root -l 192.168.119.70 -p 12000 -c 512 -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 ~]# telnet 192.168.119.70 12000  
Trying 192.168.119.70... 
Connected to 192.168.119.70 (192.168.119.70). 
Escape character is '^]'.  

连接成功之后,即可对memcache进行操作管理了,常用的命令有:

Ⅰ、添加修改

        命令格式:<command> <key> <flags> <exptime> <bytes>\r\n<data block>\r\n

       <command>:add, set或 replace

       <key> :缓存的名字

       <flag>:16位无符号整数,和key要存储的数据一起存储,并在程序get缓存时,返回。

      <exptime>:过去时间,0 表示永远不过期,如果非零,表示unix时间或距此秒数

       <bytes>:存储数据的字节数

        \r\n: 表示换行回车

        命令结果:

                STORED :表示成功

                NOT_STORED : 表示失败

a)、添加缓存

复制代码 代码如下:

add id 1 0 4 
1234 
STORED 

  如果key已经存在,则会添加失败。

b)、修改缓存

复制代码 代码如下:

replace id 1 0 4 
3456 
STORED 

     key存在时,成功;不存在时,失败。

c)、设置缓存

复制代码 代码如下:

set id 1 0 4 
2345 
STORED 

key不存在时,添加【add】;已存在时,替换【replace】。

Ⅱ、读取

       命令格式:get <key>+\r\n

       <key>+:表示一个或多个key,多个key时,用空格隔开

a)、读取单个key的缓存

复制代码 代码如下:

get id 
VALUE id 1 4 
1234 
END 

b)、读取多个key的缓存

复制代码 代码如下:

get id name 
VALUE id 1 4 
3456 
VALUE name 1 3 
jim 
END 

Ⅲ、删除

命令格式:delete <key> \r\n

<key>:要删除的key

删除id

复制代码 代码如下:

delete id  
DELETED 

Ⅳ、清空所有缓存

命令格式:flush_all

复制代码 代码如下:

flush_all 
OK 

Ⅴ、查看缓存服务器状态

命令:stats

复制代码 代码如下:

stats 
STAT pid 2711     //进程id 
STAT uptime 2453  //总的运行时间,单位描述 
STAT time 1344856333  //当前时间 
STAT version 1.4.0 //版本 
STAT pointer_size 32    //服务器指针位数,一般32位操作系统是32 
STAT rusage_user 0.002999  //进程的累计用户时间  
STAT rusage_system 1.277805  //进程的累计系统事件 
STAT curr_connections 1  //当前连接数 
STAT total_connections 11  //服务器启动后,总连接数 
STAT connection_structures 11  //连接结构的数量 
STAT cmd_get 17   //总获取次数 
STAT cmd_set 1  //总写入次数 
STAT cmd_flush 1   //总的的清空次数 
STAT get_hits 1  //总的命中次数 
STAT get_misses 7   //获取没有命中次数 
STAT delete_misses //删除没有命中次数 
STAT delete_hits 4   //删除命中次数 
STAT incr_misses //递增操作没有命中次数  
STAT incr_hits //递增操作命中次数 
STAT decr_misses //递减操作没有命中的次数 
STAT decr_hits //递减操作命中的次数 
STAT cas_misses //cas设置没有命中次数 
STAT cas_hits //cas命中次数 
STAT cas_badval //cas操作找到key,但版本过期,没有设置成功 
STAT bytes_read 455    //总共获取数据量 
STAT bytes_written 1175  //总共写入数据量 
STAT limit_maxbytes 1048576  //最大允许使用内存,单位字节 
STAT accepting_conns 1     
STAT listen_disabled_num 0 
STAT threads 5   //当前线程数 
STAT conn_yields 0 
STAT bytes 56      //已用缓存空间 
STAT curr_items 1  //当前缓存的keyvalue数 
STAT total_items 7 //总共缓存的keyvalue数,包括过期删除的 
STAT evictions //通过删除keyvalue,释放内存次数 
END 

Ⅵ、打印版本

命令:version

复制代码 代码如下:

version 
VERSION 1.4.0 

Ⅶ、打印内存信息

命令:stats slabs

复制代码 代码如下:

stats slabs 
STAT 1:chunk_size 80 
STAT 1:chunks_per_page 13107 
STAT 1:total_pages 1 
STAT 1:total_chunks 13107 
STAT 1:used_chunks 1 
STAT 1:free_chunks 1 
STAT 1:free_chunks_end 13105 
STAT 1:get_hits 10 
STAT 1:cmd_set 10 
STAT 1:delete_hits 4 
STAT 1:incr_hits 0 
STAT 1:decr_hits 0 
STAT 1:cas_hits 0 
STAT 1:cas_badval 0 
STAT active_slabs 1 
STAT total_malloced 1048560 
END 

3、退出telnet

复制代码 代码如下:

quit 

完!

更多精彩内容其他人还在看

sql注入之新手入门示例详解

这篇文章仅仅是对SQL注入进行了一个简单的入门知识的讲解,是sql注入的基础篇,有个好的开头能够帮助大家对SQL注入有一个具体清晰的了解和认识。下面来一起看看吧,有需要的可以参考借鉴。
收藏 0 赞 0 分享

sql注入之手工注入示例详解

之前和大家分享了基本的SQL注入的知识,这一篇讲的就是在得知注入点的之后,如何有效地进行脱裤。文章通过示例介绍的很详细,对大家的理解和学习很有帮助,下面来一起看看吧。
收藏 0 赞 0 分享

SQL注入之基于布尔的盲注详解

首先说明的盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。盲注一般分为布尔盲注和基于时间的盲注。这篇文章主要讲解的是基于布尔的盲注。下面来一起看看吧。
收藏 0 赞 0 分享

node-mysql中防止SQL注入的方法总结

大家都知道SQL注入对于网站或者服务器来讲都是一个非常危险的问题,如果这一方面没处理好的话网站可能随时给注入了,所以这篇文章就给大家总结了node-mysql中防止SQL注入的几种常用做法,有需要的朋友们可以参考借鉴。
收藏 0 赞 0 分享

SQL中Having与Where的区别及注意

这篇文章给大家详细的介绍了SQL中Having与Where的区别,以及这两者的注意事项,文中还分享了Having与Where的示例代码,相信对大家的理解和学习很有帮助,感兴趣的朋友们可以参考借鉴,有需要的朋友们可以一起学习学习。
收藏 0 赞 0 分享

浅析sql server 公共表达式的简单应用

本文主要对sql server 公共表达式的简单应用进行介绍,具有一定的参考价值,有需要的可以看下
收藏 0 赞 0 分享

Mybatis查询延迟加载详解及实例

这篇文章主要介绍了Mybatis查询延迟加载详解及实例的相关资料,Mybatis的延迟加载默认是关闭的,即默认是一次就将所有的嵌套SQL一并查了将对象所有的信息都查询出来。开启延迟加载有两种方式,需要的朋友可以参考下
收藏 0 赞 0 分享

SQL注入详解(扫盲篇)

刚进公司的时候,研究的主要是SQL注入,因为之前没有搞过安全,所有费了好长一段时间对SQL注入基本知识进行了解。所以这篇文章并不是什么很深入的技术博客,或许应该叫它‘ SQL注入扫盲 ’有需要的朋友可以参考学习,下面来一起看看吧。
收藏 0 赞 0 分享

SQL注入绕过的技巧总结

这篇文章主要给大家总结了一些关于SQL注入绕过的技巧,其中包括引号绕过、逗号绕过以及比较符(<,>)绕过,文中给出了详细的介绍和示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享

利用reverse索引优化like语句的方法详解

这篇文章主要介绍了关于利用reverse索引优化like语句的方法,文中通过图文介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
收藏 0 赞 0 分享
查看更多