admin 管理员组

文章数量: 1086019


2024年3月20日发(作者:百度编辑器 图片保存路径 jsp)

Memcache 的命令行用法

1、启动 Memcache 常用参数

memcached 1.4.3 -p -U 设置端口号(默认不设置为: 11211) UDP

监听端口 (默认: 11211, 0 时关闭) -l 绑定地址 (默认:所有都允许,无论内外

网或者本机更换 IP,有安全隐患,若设置为 127.0.0.1 就只能本机访问) -d 独立进程运

行 -u 绑定使用指定用于运行进程 -m -P

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

-p 12121 在 window 下:d:App_ -d RunService

-l 127.0.0.1 -p 11211 -m 500 在 windows 下注册为服务后运行: create

jb-Memcached binpath= “d:App_ -d

RunService -p 11211 -m 500〃 start= auto net start jb-Memcached 允许最大内存

用量,单位 M (默认: 64 MB) 将 PID 写入文件,这样可以使得后边进行快速进程

终止, 需要与 -d 一起使用

2、连接:telnet 127.0.0.1 11211 不要说不会用这个?

3、写入 memcache

rn rn a) 可以是”set”, “add”,

“replace”。

“set”表示按照相应的存储该数据,没有的时候增加,有的覆盖。

“add”表示按照相应的添加该数据,但是如果该已经存在则会操作失

败。 “replace”表示按照相应的替换数据,但是如果该不存在则操作失败

b) 客户端需要保存数据的 key。

c) 是一个 16 位的无符号的整数(以十进制的方式表示)。 该标志将和需要

存储的数据一起存储,并在客户端 get 数据时返回。 客户可以将此标志用做特殊用途,此

标志对服务器来说是不透明的。

d) 过期的时间。 若为 0 表示存储的数据永远不过时(但可被服务器算

法:LRU 等替换)。 如果非 0(unix 时间或者距离此时的秒数),当过期后,服务器可以保证

用户得不到该数据(以服务器时间为标 准)。

e) 需要存储的字节数(不包含最后的”rn”),当用户希望存储空数据

时,可以为 0 f) 最后客户端需要加上”rn”作为”命令头”的结束标志。

block>rn 紧接着”命令头”结束之后就要发送数据块(即希望存储的数据内容),最后加上”

rn”作为此次通讯的结束。 结果响应:reply 当以上数据发送结束之后,服务器将返回一

个应答。可能有如下的情况: a) “STOREDrn”:表示存储成功 b) “NOT_STOREDrn” :

表示存储失败,但是该失败不是由于错误。 通常这是由于”add”或者”replace”命令本

身的要求所引起的,或者该项在删除队列之中。 如: set key 33 0 4rn ffffrn

4、获取/检查 KeyValue get *rn

a) * 表示一个或者多个 key(以空格分开)

b) “rn” 命令头的结束 结果响应:reply 服务器端将返回 0 个或者多个的数据

项。每个数据项都是由一个文本行和一个数据块组成。当所有的数据 项都接收完毕将收到”

ENDrn” 每一项的数据结构: VALUE rn rn

a) 希望得到存储数据的 key b) 发送 set 命令时设置的标志项

c) 发送数据块的长度(不包含”rn”)

d) “rn” 文本行的结束标志

e) 希望接收的数据项。

f) “rn” 接收一个数据项的结束标志。 如果有些 key 出现在 get 命令行中但是

没有返回相应的数据,这意味着服务器中不存在这些项,这些项过 时了,或者被删除了 如:

get aa VALUE aa 33 4 ffff END

5、删除 KeyValue: delete

a) 需要被删除数据的 key

b)

数)

c) “rn” 命令头的结束

6、检查 Memcache 服务器状态: statsrn 在这里可以看到 memcache 的获取

次数,当前连接数,写入次数,已经命中率等; pid : 进程 id uptime :总的运行时间,

秒数 time : 当前时间 version : 版本号 …… curr_items : 当前缓存中的 KeyValue

数量 total_items : 曾经总共经过缓存的 KeyValue 数量 bytes : 所有的缓存使用的

内存量 curr_connections 当前连接数 …. cmd_get : 总获取次数 cmd_set : 总的写

入次数 get_hits : 总的命中次数 miss_hits : 获取失败次数 ….. bytes_read : 总共读

取的流量字节数 bytes_written : 总的写入流量字节 limit_maxbytes : 最大允许使用

的内存量,字节 7、高级缓存细节查看方法:

stats reset 清空统计数据 stats malloc 显示内存分配数据 stats cachedump

slab_id limit_num 显示某个 slab 中的前 limit_num 个 key 列表,显示格式如下

ITEM key_name [ value_length b; expire_time|access_time s] 其中,memcached

1.2.2 及以前版本显示的是 访问时间(timestamp) 1.2.4 以上版本,包括 1.2.4 显示 过

期时间(timestamp) 如果是永不过期的 key,expire_time 会显示为服务器启动的时间

stats cachedump 7 2 ITEM copy_test1 [250 b; 1207795754 s] ITEM copy_test [248 b;

1207793649 s] stats slabs 显示各个 slab 的信息,包括 chunk 的大小、数目、使用情

况等 stats items 显示各个 slab 中 item 的数目和最老 item 的年龄(最后一次访问距

离现在的秒数) stats detail [on|off|dump] 设置或者显示详细操作记录 参数为 on,打开

详细操作记录 参数为 off,关闭详细操作记录 参数为 dump,显示详细操作记录(每一个

键值 get、set、hit、del 的次数)

8、清空所有键值 flush_all 注:flush 并不会将 items 删除,只是将所有的 items 标

记为 expired,因此这时 memcache 依旧占用所有 内存。

8、退出 quitrn


本文标签: 数据 服务器 结束 显示 时间