1、连接memcache
linux下一般使用telnet连接memcache服务
[root@localhost ~]# telnet 127.0.0.1 11266
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
这样就连接成功了,使用以下命令进行操作:
添加修改key-value
命令格式:
<command> <key> <flags> <exptime> <bytes>
<data block>
参数名称 | 作用 |
---|---|
command | add, set或 replace |
key | 缓存的名字 |
flag | 16位无符号整数,和key要存储的数据一起存储,并在程序get缓存时,返回。 |
exptime | 过去时间,0 表示永远不过期,如果非零,表示unix时间或距此秒数 |
bytes | 存储数据的字节数 |
表示换行回车 |
命令结果:
STORED #表示成功
NOT_STORED #表示失败
CLIENT_ERROR bad data chunk #输入数据有误
添加缓存
add kk 1 0 4 #回车
1234 #回车
STORED
如果key已经存在,则会添加失败。如果数据 不是4个字节 应该会提示数据错误
修改缓存
replace kk 1 0 2 #回车
11 #回车
STORED
key存在时,成功;不存在时,失败。
设置缓存
set kk 1 0 4 #回车
1234 #回车
STORED
key不存在时,添加【add】;已存在时,替换【replace】。
读取
get kk
VALUE kk 1 4
1234
多个key时,用空格隔开
删除
delete kk #回车
DELETED
清空所有缓存
flush_all
OK
查看缓存服务器状态
stats
返回信息: | 参数名称 | 作用 |
---|---|---|
STAT pid 2711 | 进程id | |
STAT uptime 2453 | 总的运行时间,单位描述 | |
STAT time 1344856333 | 当前时间 | |
STAT version 1.4.0 | 版本 | |
STAT pointer_size 32 | 服务器指针位数,一般32位操作系统是32 | |
STAT rusage_user 0.002999 | 进程的累计用户时间 | |
STAT rusage_system 1.277805 | 进程的累计系统事件 | |
STAT curr_connections 1 | 当前连接数 | |
STAT total_connections 11 | 服务器启动后,总连接数 | |
STAT connection_structures 11 | 连接结构的数量 | |
STAT cmd_get 17 | 总获取次数 | |
STAT cmd_set 1 | 总写入次数 | |
STAT cmd_flush 1 | 总的的清空次数 | |
STAT get_hits 1 | 总的命中次数 | |
STAT get_misses 7 | 获取没有命中次数 | |
STAT delete_misses | 删除没有命中次数 | |
STAT delete_hits 4 | 删除命中次数 | |
STAT incr_misses | 递增操作没有命中次数 | |
STAT incr_hits | 递增操作命中次数 | |
STAT decr_misses | 递减操作没有命中的次数 | |
STAT decr_hits | 递减操作命中的次数 | |
STAT cas_misses | cas设置没有命中次数 | |
STAT cas_hits | cas命中次数 | |
STAT cas_badval | cas操作找到key,但版本过期,没有设置成功 | |
STAT bytes_read 455 | 总共获取数据量 | |
STAT bytes_written 1175 | 总共写入数据量 | |
STAT limit_maxbytes 1048576 | 最大允许使用内存,单位字节 | |
STAT accepting_conns 1 | 已经达到连接数量最大值,该值为1;未达到连接数量最大值,该值为0 | |
STAT listen_disabled_num 0 | 统计当前服务器连接数曾经达到最大连接的次数 | |
STAT threads 5 | 当前线程数 | |
STAT conn_yields 0 | 服务器是否达到过最大连接 | |
STAT bytes 56 | 已用缓存空间 | |
STAT curr_items 1 | 当前缓存的keyvalue数 | |
STAT total_items 7 | 总共缓存的keyvalue数,包括过期删除的 | |
STAT evictions | 通过删除keyvalue,释放内存次数 |
其他命令
version #显示版本号
stats reset #清空统计数据
stats slabs #显示各个slab的信息,包括chunk的大小、数目、使用情况等
stats items #显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)
退出telnet
ctrl+]
tlenet>quit
其他方式连接memcache
1、数据存储(key为kk,value为123)
printf 'set kk 1 0 4
1234
' | nc 127.0.0.1 11264
2、数据取回
printf 'get kk
' | nc 127.0.0.1 11264
3、替换数据(将以kk为key存储的值替换为122)
printf 'replace kk 1 0 4
2345
' | nc 127.0.0.1 11264
4、数值增加 1
printf 'incr 1
' | nc 127.0.0.1 11264
5、数值减少 2
printf 'decr 2
' | nc 127.0.0.1 11264
6、数据删除
printf 'delete kk
' | nc 127.0.0.1 11264
7、查看Memcached当时状态
printf "stats/r/n" | nc 127.0.0.1 11264
8、查看Memcached实时状态
watch "printf 'stats/r/n' | nc 127.0.0.1 11264"