memcached 常用信息

来源:互联网 发布:北京师范大学 知乎 编辑:程序博客网 时间:2024/06/07 09:46
1、启动Memcache 常用参数


-p <num>      设置端口号(默认不设置为: 11211)


-U <num>      UDP监听端口(默认: 11211, 0 时关闭) 


-l <ip_addr>  绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)


-d            独立进程运行


-u <username> 绑定使用指定用于运行进程<username>


-m <num>      允许最大内存用量,单位M (默认: 64 MB)


-P <file>     将PID写入文件<file>,这样可以使得后边进行快速进程终止, 需要与-d 一起使用


-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助




如:


在linux下:./usr/local/bin/memcached -d -u jb-mc -l 192.168.1.197 -m 2048 -p 12121


在window下:d:\App_Serv\memcached\memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500


在windows下注册为服务后运行:


sc.exe create jb-Memcached binpath= “d:\App_Serv\memcached\memcached.exe -d RunService -p 11211 -m 500″start= auto


net start jb-Memcached


 


2、连接:telnet 127.0.0.1 11211


3、您将使用五种基本memcached 命令执行最简单的操作。这些命令和操作包括:


 


set: 用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。


add :仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应NOT_STORED 。


replace:仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那么您将从memcached 服务器接受到一条NOT_STORED 响应。


get:用于检索与之前添加的键值对相关的值。


delete:用于删除memcached 中的任何现有值。您将使用一个键调用delete ,如果该键存在于缓存中,则删除该值。如果不存在,则返回一条NOT_FOUND 消息。


gets:功能类似于基本的get 命令。两个命令之间的差异在于,gets 返回的信息稍微多一些:64 位的整型值非常像名称/值对的 “版本” 标识符。 


前三个命令是用于操作存储在memcached 中的键值对的标准修改命令。它们都非常简单易用,且都使用清单5 所示的语法:


 


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


<value>


 


表1. memcached 修改命令参数


 


参数       用法


key  key 用于查找缓存值


flags       可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息


expiration time       在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)


bytes       在缓存中存储的字节点


value       存储的值(始终位于第二行) 例子:


set useID 0 0 5


 


1234


 


 


 


4、缓存管理命令


 


最后两个memcached 命令用于监控和清理memcached 实例。它们是stats 和flush_all 命令。


 


stats :转储所连接的memcached 实例的当前统计数据。


flush_all:用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态,则flush_all 能提供很大的用处。


查看memcached状态的基本命令,通过这个命令可以看到如下信息:


 


STAT pid 22459                             进程ID


STAT uptime 1027046                        服务器运行秒数


STAT time 1273043062                       服务器当前unix时间戳


STAT version 1.4.4                         服务器版本


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 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 auth_cmds 0


STAT auth_errors 0


STAT bytes_read 15785                      读取字节总数


STAT bytes_written 15222                   写入字节总数


STAT limit_maxbytes 1048576                分配的内存数(字节)


STAT accepting_conns 1                     目前接受的链接数


STAT listen_disabled_num 0                


STAT threads 4                             线程数


STAT conn_yields 0


STAT bytes 0                               存储item字节数


STAT curr_items 0                          item个数


STAT total_items 34                        item总数


STAT evictions 0                           为获取空间删除item的总数