Memcached是一个自由开源的,高性能,分布式内存对象缓存系统,是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。它简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。但是本质上,它是一个简洁的key-value存储系统。我们一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。所以嘞,本人再熟悉和记录一下memcached的功能点。
废话不多说,首先我们来看安装。我的服务器环境是uabntu,所以之后的测试环境就是它了。因为memcached是依赖libevent库的,所以我们先来安装这个东西:
sudo apt-get install libevent libevent-deve
完事呢,我们就来安装memcached:
sudo apt-get install memcached
安装好之后我们可以运行memcached -help这个命令来查看我们是否安装成功。之后我们就来启动这个memcached:
./memcached -p 11211 -m 64m -vv
-m是我们分配给它的内存大小,11211是它的端口号哦。上面的命令运行完事之后没有启动成功的话,我们就来使用which memcached来查看它的安装目录。完事之后进入它的安装目录中再运行上面的命令。启动之后我们就使用set命令来测试下它的运行情况,首先我们先连接我们的memcached:
telnet HOST PORT
实际上大家可以参照这个:
telnet 127.0.0.1 11211
完事之后会出现如下界面:
Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.
我们接下来就开始测试了哦:
set cjp 0 0 7 保存命令 luyaran 数据 STORED 结果 get cjp 取得命令 VALUE foo 0 7 数据 luyaran 数据 END 结束行 quit 退出
然后我们来看下set的语法:
set key flags exptime bytes [noreply] value
参数说明如下:
- key:键值 key-value 结构中的 key,用于查找缓存值。
- flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息。
- exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
- bytes:在缓存中存储的字节数
- noreply(可选): 该参数告知服务器不需要返回数据
- value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
再来个详细的:
- key → cjp
- flag → 0
- exptime → 0 (以秒为单位)
- bytes → 7 (数据存储的字节数)
- value → luyaran
我们如果数据设置成功,则输出:
STORED
最后看下输出信息说明:
- STORED:保存成功后输出。
- ERROR:在保存失败后输出。