Memcached
目录
1 MEMCACHED的简介 1
1.1 什么是MEMCACHED 1
1.2 MEMCACHED的特点 1
2 安装MEMCACHED 2
2.1 软件准备 2
2.2 安装 2
2.2.1 安装libevent 2
2.2.2 安装memcached 2
2.2.3 启动memcached 3
1 Memcached的简介
1.1 什么是memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
Memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。
这时就该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
1.2 Memcached的特点
memcached作为高速运行的分布式缓存服务器,具有以下的特点。
• 协议简单
• 基于libevent的事件处理
• 内置内存存储方式
• memcached不互相通信的分布式
(1) 协议
memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。
因此,通过telnet也能在memcached上保存数据、取得数据。
(2) 事件处理
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。
关于事件处理程序可参考:http://libevent.org/
(3) 存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
(4) 分布式
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现
2 安装Memcached
2.1 软件准备
Linux上安装memcached:
2.2 安装
2.2.1 安装libevent
将libevent安装包上传到/tmp/libevent目录下
2.2.2 安装memcached
将memcached安装包上传到/tmp/memcached目录下
2.2.3 启动memcached
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是256MB,
-u是运行Memcache的用户,我这里是app,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了512,按照你服务器的负载量来设定,
-vv用very vrebose模式启动,调试信息和错误输出到控制台
要了解更多的启动参数可以使用:$ /usr/local/memcached/bin/memcached -h
可以查看到memcached启动的服务。
****************************
未完待续
目录
1 MEMCACHED的简介 1
1.1 什么是MEMCACHED 1
1.2 MEMCACHED的特点 1
2 安装MEMCACHED 2
2.1 软件准备 2
2.2 安装 2
2.2.1 安装libevent 2
2.2.2 安装memcached 2
2.2.3 启动memcached 3
1 Memcached的简介
1.1 什么是memcached
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
Memcached 是以LiveJournal 旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。许多Web应用都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、网站显示延迟等重大影响。
这时就该memcached大显身手了。memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。
1.2 Memcached的特点
memcached作为高速运行的分布式缓存服务器,具有以下的特点。
• 协议简单
• 基于libevent的事件处理
• 内置内存存储方式
• memcached不互相通信的分布式
(1) 协议
memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议。
因此,通过telnet也能在memcached上保存数据、取得数据。
(2) 事件处理
libevent是个程序库,它将Linux的epoll、BSD类操作系统的kqueue等事件处理功能封装成统一的接口。即使对服务器的连接数增加,也能发挥O(1)的性能。memcached使用这个libevent库,因此能在Linux、BSD、Solaris等操作系统上发挥其高性能。
关于事件处理程序可参考:http://libevent.org/
(3) 存储方式
为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题。
(4) 分布式
memcached尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现
2 安装Memcached
2.1 软件准备
Linux上安装memcached:
下载libevent包 libevent-2.1.2-alpha.tar.gz 地址:http://libevent.org/
下载memcached包 memcached-1.4.15.tar.gz 地址:http://memcached.org/
2.2 安装
2.2.1 安装libevent
将libevent安装包上传到/tmp/libevent目录下
$ cd /tmp/libevent
$ tar zxvf libevent-2.1.1-alpha.tar.gz #解压libevent文件
$ cd libevent-2.1.1-alpha #进入libevent目录
$ ./configure --prefix=/usr/local/libevent #配置安装libevent的安装目录
$ make #编译
$ make install #安装
2.2.2 安装memcached
将memcached安装包上传到/tmp/memcached目录下
$ cd /tmp/memcached
$ tar zxvf memcached-1.4.15.tar.gz #解压memcached文件
$ cd memcached-1.4.15 #进入memcached目录
$ ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent #配置安装memcached的安装目录和配置libevent安装目录
$ make #编译
$ make install #安装
2.2.3 启动memcached
$ /usr/local/bin/memcached –d –m 256 –u app –p 11211 –c 512 -vv
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是256MB,
-u是运行Memcache的用户,我这里是app,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了512,按照你服务器的负载量来设定,
-vv用very vrebose模式启动,调试信息和错误输出到控制台
要了解更多的启动参数可以使用:$ /usr/local/memcached/bin/memcached -h
$ ps aux|grep memcached #查看memcached服务启动
可以查看到memcached启动的服务。
****************************
未完待续