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>\r\n
 <data block>\r\n

参数名称

作用

command

add, set或 replace

key

缓存的名字

flag

16位无符号整数,和key要存储的数据一起存储,并在程序get缓存时,返回。

exptime

过去时间,0 表示永远不过期,如果非零,表示unix时间或距此秒数

bytes

存储数据的字节数

\r\n

表示换行回车

命令结果:

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\r\n1234\r\n' | nc 127.0.0.1 11264

2、数据取回

printf 'get kk\r\n' | nc 127.0.0.1 11264

3、替换数据(将以kk为key存储的值替换为122)

printf 'replace kk 1 0 4\r\n2345\r\n' | nc 127.0.0.1 11264

4、数值增加 1

printf 'incr 1\r\n' | nc 127.0.0.1 11264

5、数值减少 2

printf 'decr 2\r\n' | nc 127.0.0.1 11264

6、数据删除

printf 'delete kk\r\n' | 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"