ponh 发表于 2015-12-24 10:24:19

Memcached 1.4.22安装和配置

Memcached 1.4.22安装和配置
[日期:2015-04-15]来源:Linux社区作者:ultrasql[字体:大 中 小]

  介绍
  Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
  Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。memcached的最新版是采用c语言进行开发和设计的,据说旧版的是采用perl语言开发的。
  Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。
  使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。那么一般的焦点就是集中在如何分担数据库压力和进行分布式,毕竟单台Memcache的内存容量的有限的。
  工作流程
  先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
  准备
1. 下载安装文件:
  cd /tmp   
wget http://downloads.sourceforge.net/levent/libevent-2.0.22-stable.tar.gz   
wget http://www.memcached.org/files/memcached-1.4.22.tar.gz
  Memcached 1.4.22 发布下载,集中式缓存系统 http://www.iyunv.com/Linux/2015-01/111276.htm
  安装
1. 先安装libevent(memcached依赖libevent):
  tar zxvf libevent-2.0.22-stable.tar.gz   
cd libevent-2.0.22-stable   
./configure –prefix=/usr   
make && make install
  2. 测试libevent是否安装成功:
  ls -al /usr/lib | grep libevent-
  看到类似如下截图,说明libevent安装成功:   

  3. 安装memcached:
  cd /tmp   
tar zxvf memcached-1.4.22.tar.gz   
cd memcached-1.4.22   
./configure --with-libevent=/usr --enable-64bit --enable-threads   
make && make install
  注意:默认memcached单个进程只支持到2G内存,需要更大内存支持的话,需要打开64位支持,编译的时候加参数:
--enable-64bit
  
4. 测试memcached是否安装成功:
  ls –al /usr/local/bin/memcached
  看到类似如下截图,说明memcached安装成功:   

  配置
1. 创建启动用户memcached:
  groupadd memcached   
useradd -g memcached memcached
  2. 创建PID进程目录:
  cd /var/run   
mkdir memcached   
chown –R memcached.memcached memcached
  服务的启动和关闭
  命令行方式:
1. 启动服务:
  /usr/local/bin/memcached –d –m 128 –u memcached –l 192.168.18.222 –p 11211 –c 1024 –P /var/run/memcached/memcached.pid
  2. 查看是否启动成功:
  ps –ef | grep memcached
  看到类似如下截图,说明memecached启动成功

  3. 关闭服务:
  kill `cat /var/run/memcached/memcached.pid`
  4. 查看是否关闭成功:
  ps –ef | grep memcached

  
服务方式:
1. 生成启动和关闭脚本:
  cp /tmp/memcached-1.4.22/scripts/memcached.sysv /etc/init.d/memcached
  2. 修改启动帐号:
  chown memcached.memcached /etc/init.d/memcached
  3. 赋予执行权限:
  chmod 755 /etc/init.d/memcached
  4. 修改/etc/init.d/memcached配置参数值:
PORT=11211   
USER=memcached   
MAXCONN=1024   
CACHESIZE=128   
OPTIONS=””   
chown $USER /usr/local/bin/memcached   
/usr/local/bin/memcached –d –p $PORT –u $USER –m $CACHESIZE –c $MAXCONN –P /var/run/memcached/memcached.pid $OPTIONS
5. 加入系统服务,并启动memcached服务,同时查看是否启动成功:
  chkconfig –add memcached   
chkconfig –level 235 memcached on   
chkconfig –list memcached
  
如下截图所示:   

  6. 启动memcached服务,并检查memcached是否启动,并关闭memcached:
  service memcached start   
ps –ef | grep memcached   
service memcached stop
  
如下截图所示:   

  配置防火墙策略
通过telnet ip port来测试外部服务器对memcached是否可以访问,如果不能访问,添加防火墙策略:
iptables –I INPUT –p tcp –dport 11211 –j ACCEPT;iptables –I OUTPUT –p tcp –sport 11211 –j ACCEPT;
iptables-save
service iptables save;
  再次测试端口是否可访问。

注意
安装libevent的时候最好指定—prefix=/usr,不然在安装memcached的时候可能会报找不到libevent的错误。当然可以对库文件建立软连接可解决。
  Memcached 安装及启动脚本 http://www.iyunv.com/Linux/2013-07/87641.htm
  PHP中使用Memcached的性能问题 http://www.iyunv.com/Linux/2013-06/85883.htm
  Ubuntu下安装Memcached及命令解释 http://www.iyunv.com/Linux/2013-06/85832.htm
  Memcached的安装和应用 http://www.iyunv.com/Linux/2013-08/89165.htm
  使用Nginx+Memcached的小图片存储方案 http://www.iyunv.com/Linux/2013-11/92390.htm
  Memcached使用入门 http://www.iyunv.com/Linux/2011-12/49516p2.htm
  Memcached 的详细介绍:请点这里
Memcached 的下载地址:请点这里
  本文永久更新链接地址:http://www.iyunv.com/Linux/2015-04/116240.htm
页: [1]
查看完整版本: Memcached 1.4.22安装和配置