memcached介绍和基本命令
【介绍】:
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据 库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
【特点】:
1. 协议简单
2. 基于libevent的事件处理
3. 内置内存存储方式
4. 采用不互相通信的分布式
【缺点】:
1. 重启memcached服务器或者操作系统会使数据消失
2. 内存容量达到指定值之后,就会使用LRU算法自动删除不使用或者很少使用的缓存。
Memcached启动选项:
选项 |
描述 |
-d |
以守护程序(daemon)方式运行memcached |
-m |
设置memcached可以使用内存的大小,单位为MB |
-l |
设置监听的IP地址 |
-p |
设置监听的端口,默认为11211 |
-u |
指定用户,通常使用该选项指定为root用户 |
启动memcached:
Memcached –vvv
Memcached客户端与服务器端的通信使用文本协议,可以使用telnet与memcached交互。
如:telnet127.0.0.1 11211(memcached默认端口是11211)
按下ctrl + ] 打开回显功能。
Memcached命令:
1. 增:add往内存中增加一行新纪录
语法:add key flag expire length
1)Key:值的名字
2)Flag:标志,是一个正整数
当往内存中存数组或者对象等时,就需要flag标志。序列化成字符串,取出时反序列化成相应的格式。
1. 字符串
2. 反转成数组
3. 反序列化对象
3)Expire:有效期,N秒后结束。设为0不自动失效,但30天后失效,也有可能被新数据挤出去。
设置10秒后失效:
4)Length:缓存的长度,字节为单位
2. 删
可以加上秒数,让该key在N秒内不能使用,使网站上的页面缓存代谢完毕。
Replace可对于已经存在的键进行更改。
Set命令有add和replace两者的功能。没有键可以增加,有可以更改。
Incr和decr命令:
把值当成32位无符号位来操作。
应用场景:
秒杀功能,秒杀主要在内存功能,速度很快。
Stats :统计命令
a. pid:memcached运行的进程号
b. uptime:运行时间
c. time:当前的时间戳
d. version:当前版本
e. total_items:历史存储的键数
f. curr_items:当前存储的键数
g. cmd_get:总共向memcached服务器请求的次数
h. get_hits:响应成功的次数
i. get_misses:失败的次数
通过这三个可以求出缓存命中率。命中率越高越优秀。
Flush_all:清除缓存对象(慎用);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。