一.Memcached简介
Memcached 是一个高性能的分布式内存对象缓存系统,Memcached的高性能源于两阶段哈希(two-stage hash)结构,Memcached基于一个存储键/值对的HashMap,减轻数据库负载,它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。当内存容量达到指定设定的值时,LRU算法自动删除不使用的缓存。
二.Memcached应用的场景
(1)Memcached大部分是应用在作为数据库前端缓存,减少了连接数据库次数,间接的减少了操作数据库,提高了访问数据的效率,提高了系统的性能,因为在大型的系统中,并发的频繁的访问相同的业务时,使用Memcached可以大大降低数据库压力,提高了系统的性能。
(2)当访问量大时缓存数据达到很大时,我们在Memcached在集群上,做很容易做水平上的扩展,因为Memcached服务器端之间是没有通讯的,当内存不够时,可以增加Memcached服务器端的服务器,其中的一台服务器挂了,不会太大的造成数据库的压力。
(3)系统集群部署,我们需要用户登录信息共享,我们可以使用Memcached进行缓存,这样用户就可以在系统之间进行使用。
三.Memcached不适合应用的场景
(1)缓存的数据量比较小。
(2)缓存的数据需要持久化。
四.Memcached安装
Memcached在实现分布集群部署时, Memcached服务端的之间是没有通讯的,服务端是伪分布式,实现分布式是由客户端实现的,客户端实现了分布式算法把数据保存到不同的Memcached服务端。
第一步:先安装libevent
Memcached用到了libevent这个库,所以先安装libevent
(1)http://libevent.org/ 下载
(2)解压安装包
# tar zxvf libevent-2.0.21-stable.tar.gz
(3)进入libevent目录
#cd libevent-2.0.21-stable
(4)指定安装目录
# ./configure -prefix=/opt
(5)编译和安装
# make &&make install
(6)测试安装是否成功
#ls /opt/lib |grep libevent 如图所示:
第二步:安装Memcached
(1)解压安装包
#tar zxvf memcached-1.4.21.tar.gz
(2)进入libevent目录
#cd memcached-1.4.21
(3)指定libevent的安装位置
# ./configure --prefix=/opt --with-libevent=/opt 如图所示:
(4)编译和安装
# make &&make install
(5)测试安装是否成功
#ls -al /opt/bin/memcached 如图所示:
五.Memcached启动服务
(1)我们这边做Memcached集群服务,所以我们启动了两个进程:
#/opt/bin/memcached -d -m 5 -u root -l 192.168.74.129 -p 12000 -c 256 -P /tmp/memcached.pid
#/opt/bin/memcached -d -m 5 -u root -l 192.168.74.130 -p 13000 -c 256 -P /tmp/memcached.pid
-d 以守护程序(daemon)方式运行 memcached。
-m 设置 memcached 可以使用的内存大小,单位为 M。
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数。
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数。
-P是设置保存Memcache的pid文件
-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。
-f 设置增长因子(调优时使用)。
-v/-vv 详细显示工作时各种参数。
我们可以通过命令查看参数
# /opt/bin/memcached -h 如图所示:
(2)我们现在检查一下是否启动,我们查看线程,如图所示:
这边集群部署完成,后面继续解释实现客户端。