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:清除缓存对象(慎用);

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。