这里就不介绍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
命令格式:
\r\n
\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"