分布式缓存之memcached--命令测试

1. 启动Memcache经常使用参数

-p <num>      设置TCP端口号(默认设置为: 11211)
-U <num>      UDP监听端口(默认: 11211, 0 时关闭) 
-l <ip_addr>  绑定地址(默认:全部都容许,不管内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-c <num>      max simultaneous connections (default: 1024)
-d            以daemon方式运行
-u <username> 绑定使用指定用于运行进程<username>
-m <num>      容许最大内存用量,单位M (默认: 64 MB)
-P <file>     将PID写入文件<file>,这样能够使得后边进行快速进程终止, 须要与-d 一块儿使用

2. 基本命令

五种基本 memcached 命令执行最简单的操做。这些命令和操做包括:html

set
add
replace
get
delete

前三个命令是用于操做存储在 memcached 中的键值对的标准修改命令。它们都很是简单易用,且都使用以下 所示的语法:缓存

command <key> <flags> <expiration time> <bytes>
<value>

参数说明以下:
command set/add/replace
key     key 用于查找缓存值
flags     能够包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time     在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes     在缓存中存储的字节点
value     存储的值(始终位于第二行)

3. telnet测试

(1)检测telnet-server的rpm是否安装安全

rpm -qa telnet-server 

(2)检测telnet的rmp是否安装服务器

rpm -qa telnet

(3)检测telnet有哪些安装包memcached

(4)使用yum安装测试

yum install telnet.x86_64
yum install telnet-server.x86_64

(5)安装xinetd守护进程fetch

  因为telnet服务也是由xinetd守护的,因此安装完telnet-server,要启动telnet服务就必须安装并启动xinetd spa

  

systemctl start xinetd.service
systemctl enable xinetd.sevice

(6)启动memcached服务操作系统

(7)查看memcached服务线程

(8)telnet连接测试

4. 缓存管理命令

   stats 和 flush_all 命令用于监控和清理 memcached 实例

(1)stats

  stats 命令的功能正如其名:转储所链接的 memcached 实例的当前统计数据。在下例中,执行 stats 命令显示了关于当前 memcached 实例的信息:

STAT pid 22459                             进程ID
STAT uptime 1027046                        服务器运行秒数
STAT time 1273043062                       服务器当前unix时间戳
STAT version 1.4.4                         服务器版本
STAT libevent 2.0.21-stable
STAT pointer_size 64                       操做系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000                  进程累计用户时间
STAT rusage_system 0.260000                进程累计系统时间
STAT curr_connections 10                   当前打开链接数
STAT total_connections 82                  曾打开的链接总数
STAT connection_structures 13              服务器分配的链接结构数
STAT reserved_fds 20
STAT cmd_get 54                            执行get命令总数
STAT cmd_set 34                            执行set命令总数
STAT cmd_flush 3                           指向flush_all命令总数
STAT get_hits 9                            get命中次数
STAT get_misses 45                         get未命中次数
STAT delete_misses 5                       delete未命中次数
STAT delete_hits 1                         delete命中次数
STAT incr_misses 0                         incr未命中次数
STAT incr_hits 0                           incr命中次数
STAT decr_misses 0                         decr未命中次数
STAT decr_hits 0                           decr命中次数
STAT cas_misses 0                          cas未命中次数
STAT cas_hits 0                            cas命中次数
STAT cas_badval 0                          使用擦拭次数
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 15785                      读取字节总数
STAT bytes_written 15222                   写入字节总数
STAT limit_maxbytes 67108864               分配的内存数(字节)
STAT accepting_conns 1                     目前接受的连接数
STAT listen_disabled_num 0                
STAT time_in_listen_disabled_us 0
STAT threads 4                             线程数
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT conn_yields 0
STAT bytes 0                               存储item字节数
STAT curr_items 0                          item个数
STAT total_items 34                        item总数
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0                           为获取空间删除item的总数
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0

(2)flush_all

  flush_all 是最后一个要介绍的命令。这个最简单的命令仅用于清理缓存中的全部名称/值对。若是您须要将缓存重置到干净的状态,则 flush_all 能提供很大的用处。下面是一个使用 flush_all 的例子:

  

set userId 0 0 5
STORED
get userId
VALUE userId 0 5
END
flush_all
OK
get userId
END

  若要了解更多命令详细信息可参考博客:http://www.javashuo.com/article/p-amejjscc-bc.html