memcache客户端操作memcached

时间:2021-07-15 08:02:41

memcache和memcached的安装过程我这里就不详细介绍了,我的博客里面有

一、启动memcached

[root@iZ23hh6yk41Z ~]# /usr/local/bin/memcached -p 11211 -u root -m l6m -c 10240 -d
-p 指定监听的端口,默认是11211
-l 指定监听的地址,默认本机所有网卡的地址
-d demon模式运行在后台运行
-m 给它分配的最大内存区,默认是64M
-c 最大能承受多大并发,默认是1024
-u 指定用户
-P pid放到指定文件中。
-vv 调试信息输出到控制台

memcached多实例,直接启动就可以了(指定不同端口即可)

[root@iZ23hh6yk41Z ~]# /usr/local/bin/memcached -p 11211 -u root -m l6m -c 10240 -d
[root@iZ23hh6yk41Z ~]# /usr/local/bin/memcached -p 11212 -u root -m l6m -c 10240 -d
[root@iZ23hh6yk41Z ~]# /usr/local/memcached/bin/memcached -d -l 127.0.0.1 -p 11211 -u root -m 64 -c 1024 -P /var/run/memcached.pid

二、操作memcached的语法

set        key     0       0           10
<command> <key> <flags> <exptime> <bytes>\r\n
set:存储此数据
exptime:终止时间。如果为0,该项永不过期,但是并不代表不能被删除

三、memcache客户端操做memcached
1、通过nc写入(推荐这种)

写入:printf "set  keyoo1 0 0 10\r\nhello\r\n" | nc 127.0.0.1 11211
取值:printf "get keyoo1 \r\n" | nc 127.0.0.1 11211
删除:printf "delete keyoo1 \r\n" | nc 127.0.0.1 11211

2、通过telnet写入

telnet 127.0.0.1 11211
设定值:
set key 0 0 10
hello
取值:
get key
删除
delete key

3、通过stats可以获取memcached的获取次数,当前连接数,写入次数,已经命中率等;

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 : 最大允许使用的内存量,字节

4、清空统计数据:

stats reset

5、清空所有键值

flush_all

注:flush并不会将items删除,只是将所有的items标记为expired,因此这时memcache依旧占用所有内存。

6、退出

quit\r\n

7、显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats slabs

8、显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)

stats items

9、设置或者显示详细操作记录

stats detail [on|off|dump]

参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值getset、hit、del的次数)

10、显示某个slab中的前limit_num个key列表

stats cachedump slab_id limit_num