linux下操作memcache的操作命令

linux    telnet    memcache   

这里就不介绍memcache的安装过程了

1、linux下启动memcache

[root@localhost ~]# memcached -d -m 512  -u root  -p 12266 -c 256

启动参数详解

参数名称 作用
-d 以守护进程方式启动。如果该参数没有指定,当按ctrl+c命令结束,memcache自动关闭
-m 分配给memcache使用的最大内存数 单位是m,默认是64m
-u 指定运行memcache的用户
-l: 指定监听的ip地址
-p 指定监听的tcp端口号,可以通过-u指定udp端口.默认是11211
-c 最大并发连接数
-P 报错进程id的文件

2、连接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"