Memcached基础
Memcached是一个*开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。
Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。
本质上,它是一个简洁的key-value存储系统。
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
Memcached 官网:http://memcached.org/。
Memcached特征
memcached作为高速运行的分布式缓存服务器,具有以下的特点。
· 协议简单
· 基于libevent的事件处理
· 内置内存存储方式
· memcached不互相通信的分布式
Memcached 安装
Memcached 支持许多平台:Linux、FreeBSD、Solaris、Mac OS,也可以安装在Windows上。
Linux系统安装memcached,首先要先安装libevent库。
sudo apt-get install libevent libevent-deve 自动下载安装(Ubuntu/Debian)
yum install libevent libevent-deve 自动下载安装(Redhat/Fedora/Centos)
自动安装
Ubuntu/Debian
sudo apt-get install memcached
Redhat/Fedora/Centos
yum install memcached
FreeBSD
portmaster databases/memcached
Windows安装
1、memcached服务器的下载,以memcached-win32-1.4.4-54-g136cb6e.zip版本的服务器为例,也可以自己在网上找。
2、下载完后,解压后在dos环境下,进入到解压到的文件目录中去,运行 memcached.exe -d install 命令 或者直接双击memcached.exe。运行完后,启动memcached服务器 命令 memcached.exe -d start,可以通过telnet 127.0.0.1 11211登录到memcached服务器上,如果登录成功证明安装memcached服务器成功。
源代码安装
从其官方网站(http://memcached.org)下载memcached最新版本。
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 运行
Memcached命令的运行:
$ /usr/local/memcached/bin/memcached -h 命令帮助
注意:如果使用自动安装 memcached 命令位于 /usr/local/bin/memcached。
启动选项:
· -d是启动一个守护进程;
· -m是分配给Memcache使用的内存数量,单位是MB;
· -u是运行Memcache的用户;
· -l是监听的服务器IP地址,可以有多个地址;
· -p是设置Memcache监听的端口,,最好是1024以上的端口;
· -c是最大运行的并发连接数,默认是1024;
· -P是设置保存Memcache的pid文件。
(1)作为前台程序运行:
从终端输入以下命令,启动memcached:
/usr/local/memcached/bin/memcached -p 11211 -m 64m vv
slab class 1: chunk size 88 perslab 11915
slab class 2: chunk size 112 perslab 9362
slab class 3: chunk size 144 perslab 7281
中间省略
slab class 38: chunk size 391224 perslab 2
slab class 39: chunk size 489032 perslab 2
<23 server listening
<24 send buffer was 110592, now 268435456
<24 server listening (udp)
<24 server listening (udp)
<24 server listening (udp)
<24 server listening (udp)
这里显示了调试信息。这样就在前台启动了memcached,监听TCP端口11211,最大内存使用量为64M。调试信息的内容大部分是关于存储的信息。
(2)作为后台服务程序运行:
# /usr/local/memcached/bin/memcached -p 11211 -m 64m -d
或者
/usr/local/memcached/bin/memcached -d -m 64M -u root -l 192.168.0.200 -p 11211 -c 256 -P /tmp/memcached.pid
Memcached连接
要连接到memcache服务器,需要使用telnet命令到主机和端口名称。
语法
memcached 的 telnet 命令的基本语法如下所示:
$telnet HOST PORT
在这里,Host 和Port 是memcached服务器运行的IP和端口
例子
下面给出的示例演示如何连接到memcached服务器,并运行一个简单的set和get命令。在这个例子中,假定memcached服务器在主机IP是127.0.0.1,端口11211上运行
$telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.Escape character is '^]'.
// now store some data and get it from memcached server
set yiibai 0 900 9
memcached
STORED
get yiibai
VALUE yiibai 0 9
memcached
END
参考教程:
http://www.runoob.com/memcached/memcached-tutorial.html
http://www.yiibai.com/memcached/
http://kb.cnblogs.com/page/42731/
推荐教程:
http://shiyanjun.cn/archives/873.html