本篇文章为菜鸟教程——Memcached教程笔记及自己实际操作记录下的内容。
介绍
(1)Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。
(2)Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
(3)Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。
(4)本质上,它是一个简洁的key-value存储系统。
(5)一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
特征
memcached作为高速运行的分布式缓存服务器,具有以下的特点。
- 协议简单
- 基于libevent的事件处理
- 内置内存存储方式
- memcached不互相通信的分布式
Linux下的安装
memcached的安装非常简单。要安装memcached,首先需要安装libevent库。
sudo apt-get install libevent ibevent-dev 自动下载安装(Ubuntu/Debian)
yum install libevent libevent-devel 自动下载安装(Redhat/Fedora/Centos)
安装完libevent后,再安装memcached。
sudo apt-get install memcached (ubuntu/Debian)
yum install memcached (centos/Fedora)
源代码安装
wget http://memcached.org/latest 下载最新版本
tar -zxvf memcached-1.x.x.tar.gz 解压源码
cd memcached-1.x.x 进入目录
./configure --prefix=/usr/local/memcached 配置
make && make test 编译
sudo make install 安装
- 这里需要注意,在解压源码的时候,可能文件名不是memcached-.tar.gz,我的文件是latest,需要查看一下下载的文件名叫什么再进行解压。
- 在执行./configure的时候,一开始没去注意,报了checking for gcc... no,以为配置成功了,后来没找到/usr/local/memcached才意识到没配置成功,这是因为系统缺少gcc套件,同样在make的时候也会出错,解决办法很简单,
yum install gcc
就可以了。
memcached运行
$ /usr/local/memcached/bin/memcached -h 命令帮助
启动memcached
(1)作为前台程序启动
/usr/local/memcached/bin/memcached -p 11211 -u root -m 64m -vv
- -p 分配Memcached监听端口
- -m 分配内存大小,单位是MB
- -u 指定用户
(2)作为后台服务程序启动
/usr/local/memcached/bin/memcached -p 11211 -m 64m -d
利用-d选项,以守护进程的方式启动,在后台运行。
set & get
启动完memcached后,要使用memcached就需要先进行连接。重新打开一个终端,键入
telnet 主机ip 端口
示例:
telnet 127.0.0.1 11211 #127.0.0.1表示连接本地ip
如果不能运行telnet,则需yum install telnet
。
set命令
连接完就可以用memcached进行数据存储了。
set命令基本语法如下:
set key flags exptime bytes [noreply]
value
参数说明如下:
- key:键值 key-value 结构中的 key,用于查找缓存值。
- flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
- exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
- bytes:在缓存中存储的字节数
- noreply(可选): 该参数告知服务器不需要返回数据
- value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
设置成功将会输出STORED。
输出信息说明:
- STORED:保存成功后输出。
- ERROR:保存失败后输出。
get命令
命令格式:
get key1 key2 key3
通过get命令即可获取到通过set存储的key的值,如果需要查找多个key,key间用空格分隔。