专栏首页技术博文通过telnet连接查看memcache服务器

通过telnet连接查看memcache服务器

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,对其进行简单操作管理。

[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 '^]'. 

2、telnet连接memcache

连接成功之后,即可对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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通过telnet连接查看memcache服务器

    memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维...

    joshua317
  • php 二维码生成类

    <?php /** * BarcodeQR - Code QR Barcode Image Generator (PNG) * @package Barco...

    joshua317
  • 适合初学者对Yaf框架的学习(二)

    前言 上一篇介绍了Yaf的安装,适合初学者对Yaf框架的学习(一)http://www.cnblogs.com/joshua317/articles/46225...

    joshua317
  • MemcacheD 缓存是否启用成功及命中率检查

    魏艾斯博客www.vpsss.net
  • Linux下安装memcached之Tomcat7集群

    这两天,在捣鼓负载均衡的问题,使用的是memcached做session存储。但是你造吗?居然没有成功,都硕失败是成功之母,我想我快成功了。 ? 安装环境 ce...

    小柒2012
  • 通过telnet连接查看memcache服务器

    memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维...

    joshua317
  • Virtex7 Microblaze下DDR3测试

    这篇文章我们讲一下Virtex7上DDR3的测试例程,Vivado也提供了一个DDR的example,但却是纯Verilog代码,比较复杂,这里我们把DDR3的...

    猫叔Rex
  • jquery autoComplete 自定义回写样式

       <form:input path="itemName" id="itemName" htmlEscape="false" class="form-cont...

    爱明依
  • angular $http

    j_bleach
  • 你不及的优秀,就缺一个对进程和线程的认识。

    进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。

    挨踢小子部落阁

扫码关注云+社区

领取腾讯云代金券