Memcached的监控
1. 连接到memcached
telnet 192.168.1.100 11211
add name 0 60 5 [说明 add 是指令名 name 是key的名字 (是以key/value存放), 0 标志, 60 表示数据存放 60s 5表示 放入多大数据 ], 如果一个key已经存在,再放入是失败的.
get name [获取 name的值]
//更新
set name 0 60 5 [如果 name 这个key存在,就是更新, 如果key不存在,就是添加]
//删除
delete key值
2. 常用命令
memcached的基本命令(安装、卸载、启动、配置相关):
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
3、memcached的基本命令(当memcached 启动后 用于对memcached管理的数据和本身运行状态相关的命令)
命令 | 描述 | 示例 |
get | Reads a value从memcached中返回数据。从缓存中返回数据时,将在第一行得到key的名字,flag的值和返回的value的长度。真正的数据在第二行,最后返回END。如果key并不存在,那么在第一行就直接返回END | get mykey |
set | Set a key unconditionally 添加一个新的条目到memcached,或是用新的数据替换掉已存在的条目 | set mykey 0 60 5 |
add | Add a new key 仅当key不存在的情况下存储数据。如果一个key已经存在,将得到NOT_STORED的响应 | add newkey 0 60 5 |
replace | Overwrite existing key 仅当key已经存在的情况下存储数据。如果一个key不存在,将得到NOT_STORED的响应 | replace key 0 60 5 |
append | Append data to existing key | append key 0 60 15 |
prepend | Prepend data to existing key | prepend key 0 60 15 |
incr | Increments numerical key value by given number | incr mykey 2 |
decr | Decrements numerical key value by given number | decr mykey 5 |
delete | Deletes an existing key | delete mykey |
flush_all | Invalidate specific items immediately 清空所有键值 | flush_all |
注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存 | ||
Invalidate all items in n seconds | flush_all 900 | |
Stats | Prints general statistics | stats |
stats slabs | Prints memory statistics 显示各个slab的信息,包括chunk的大小、数目、使用情况等 | |
stats malloc | Prints memory statistics 显示内存分配数据 | stats malloc |
stats slabs | Print higher level allocation statistics | stats slabs |
stats detail | 设置或者显示详细操作记录: 参数为on,打开详细操作记录 参数为off,关闭详细操作记录 参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数) | |
stats items | 显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数) | stats items |
stats sizes | 参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数) | stats sizes |
stats reset | Resets statistics 清空统计数据 | stats reset |
version | Prints server version. | version |
verbosity | Increases log level | verbosity |
quit | Terminate telnet session | quit |
4、统计信息的关键字中英文对照表
pid | memcache服务器的进程ID |
uptime | 服务器已经运行的秒数 |
time | 服务器当前的unix时间戳 |
version | memcache版本 |
pointer_size | 当前操作系统的指针大小(32位系统一般是32bit) |
rusage_user | 进程的累计用户时间 |
rusage_systm | 进程的累计系统时间 |
curr_items | 服务器当前存储的items数量 |
total_items | 从服务器启动以后存储的items总数量 |
bytes | 当前服务器存储items占用的字节数 |
curr_connectio | 当前打开着的连接数 |
total_connections | 从服务器启动以后曾经打开过的连接数 |
connection_structures | 服务器分配的连接构造数 |
cmd_get | get命令(获取)总请求次数 |
cmd_set | set命令(保存)总请求次数 |
get_hits | 总命中次数 |
get_misses | 总未命中次数 |
evictions | 为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items) |
bytes_read | 总读取字节数(请求字节数) |
bytes_written | 总发送字节数(结果字节数) |
limit_maxbytes | 分配给memcache的内存大小(字节) |
threads | 当前线程数 |
memcached –m 256m –d start
如果memcached 使用的内存超过了定义的内存,就会把最不常用的内存删除,该算法是LRU
如果你希望换一个端口
memcached -d -m 30 -l 127.0.0.1 -p 9000 -d start 此命令不适用unix