Memcached 在服务端安装的管理内存软件
Memcached是一个高性能的分布式的内存对象缓存系统,用于动态Web应用以减轻数据库负载。Memcached是在内存中,为特定数据(字符串或对象)构建key-value的小块据存储。
memcache 安装
sudo apt-get install memcached
安装完Memcache服务端以后,我们需要启动该服务:
memcached -d -m 128 -p 11211 -u root
这里需要说明一下memcached服务的启动参数:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
memcached测试
格式: telnet memcached地址 端口
例如 telnet localhost 11211
退出命令:quit
存储命令格式:
<command name> <key> <flag> <expire> <bytes>
<data block>
command name 命令名称
key 查找关键字
flag 存储额外信息
expire 数据保存时间,0表示永远,单位秒
bytes 存储数据的字节数
data block 存储的数据
1.set 无论如何都存储,数据不存在时存储,数据存在时更新
set mykey 0 0 3
123
STORED
set mykey 0 0 3
456
STORED
2.add 当数据不存在时存储
add mykey 0 0 3
123
STORED
add mykey 0 0 3
456
NOT_STORED
3.replace 当数据存在时存储
set mykey 0 0 3
123
STORED
replace mykey 0 0 3
456
STORED
delete mykey
DELETED
replace mykey 0 0 3
678
NOT_STORED
set mykey 0 0 3
123
STORED
set mykey1 0 0 3
456
STORED
get mykey mykey1
VALUE mykey 0 3
123
VALUE mykey1 0 3
456
END
set mykey 0 0 3
123
STORED
gets mykey
VALUE mykey 0 3 7
123
END
replace mykey 0 0 3
888
STORED
gets mykey
VALUE mykey 0 3 8
888
END
set mykey 0 0 3
123
STORED
append mykey 0 0 3
456
STORED
get mykey
VALUE mykey 0 6
123456
END
append notexists 0 0 3
456
NOT_STORED
set mykey 0 0 3
123
STORED
prepend mykey 0 0 3
456
STORED
get mykey
VALUE mykey 0 6
456123
END
prepend notexists 0 0 3
456
NOT_STORED
8.delete 删除缓存数据,数据存在返回DELETED,数据不存在返回NOT_FOUND
set mykey 0 0 3
123
STORED
delete mykey
DELETED
delete mykey
NOT_FOUND
9.flush_all 将当前所有缓存数据设置为过期,但不会释放内存
flush_all
OK
10.stats 查看memcached运行状态
pid Memcached 进程ID
uptime Memcached 运行时间,单位:秒
time Memcached 当前的UNIX时间
version Memcached 的版本号
rusage_user 该进程累计的用户时间,单位:秒
rusage_system 该进程累计的系统时间,单位:秒
curr_items Memcached 当前存储的内容数量
total_items Memcached 启动以来存储过的内容总数
bytes Memcached 当前存储内容所占用的字节数(*/1024/1024=mb)
curr_connections 当前连接数量
total_connections Memcached 运行以来接受的连接总数
connection_structures Memcached 分配的连接结构的数量
cmd_get 查询请求总数
cmd_set 存储(添加/更新)请求总数
get_hits 查询成功获取数据的总次数
get_misses 查询成功未获取到数据的总次数
bytes_read Memcached 从网络读取到的总字节数
bytes_written Memcached 向网络发送的总字节数
limit_maxbytes Memcached 在存储时被允许使用的字节总数
slabs_id:由stats items返回的结果(STAT items后面的数字)决定的
limit_num:返回的记录数,0表示返回所有记录
通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。
stats cachedump 1 0
ITEM mykey [3 b; 1362880145 s]
END
13.stats slabs 显示各个slab的信息,包括chunk的大小、数目、使用情况等
14.stats sizes 输出所有item的大小和个数
15.stats reset 清空统计数据