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,显示详细操作记录(每一个键值get、set、hit、del的次数)
10、显示某个slab中的前limit_num个key列表
stats cachedump slab_id limit_num