您的位置:首页 > 数据库 > Memcache

memcache telnet 维护小结

2014-12-30 18:11 316 查看


memcache telnet 维护小结

分类: 工具2012-08-13
20:07 2165人阅读 评论(0) 收藏 举报

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

1、启动memcache

[plain] view
plaincopy

[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

[plain] view
plaincopy

[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)、添加缓存

[plain] view
plaincopy

add id 1 0 4

1234

STORED

如果key已经存在,则会添加失败。
b)、修改缓存

[plain] view
plaincopy

replace id 1 0 4

3456

STORED

key存在时,成功;不存在时,失败。
c)、设置缓存

[plain] view
plaincopy

set id 1 0 4

2345

STORED

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

Ⅱ、读取
命令格式:get <key>+\r\n
<key>+:表示一个或多个key,多个key时,用空格隔开
a)、读取单个key的缓存

[plain] view
plaincopy

get id

VALUE id 1 4

1234

END

b)、读取多个key的缓存

[plain] view
plaincopy

get id name

VALUE id 1 4

3456

VALUE name 1 3

jim

END

Ⅲ、删除
命令格式:delete <key> \r\n
<key>:要删除的key
删除id

[plain] view
plaincopy

delete id

DELETED

Ⅳ、清空所有缓存
命令格式:flush_all

[plain] view
plaincopy

flush_all

OK

Ⅴ、查看缓存服务器状态
命令:stats

[plain] view
plaincopy

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

[plain] view
plaincopy

version

VERSION 1.4.0

Ⅶ、打印内存信息
命令:stats slabs

[plain] view
plaincopy

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

[plain] view
plaincopy

quit
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: