Memcached概念

  Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

  MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。

安装环境

  操作系统:Linux( centOS 6..5 版)

  软件: libevent-2.0.22-stable.tar.gz

      memcached-1.4.25.tar.tar

安装步骤

   1.由于memcached依赖于libevent,因此需要安装libeven

      •   检查是否安装libeven,命令:rpm -qa|grep libevent
      •   下载libevent压缩包,地址:http://libevent.org/
      •   解压压缩包:命令:tar -zxvf libevent-2.0.22-stable.tar.gz -C /usr/local/
      • 进入解压的文件夹:命令:cd /usr/local/libevent-2.0.22-stable/
      •  编译安装,libevent。
 ./configure -prefix=/usr/local/libevent
make
make install

   2.下载memcached,地址:http://memcached.org/downloads

   3.解压压缩包:命令:tar -zxvf memcached-1.4.25.tar.tar -C /usr/local/

   4.进入解压的文件夹:命令:cd /usr/local/memcached-1.4.25/

   5.编译安装memcached.

 ./configure -with-libevent=/usr/local/libevent/ -prefix=/usr/local/memcached
make
make install

   6.启动memcached,命令:/usr/local/memcached/bin/memcached -d -m 256 -u root -p 11211 -c 1024 –P /tmp/memcached.pid

     启动参数说明:

      -d 选项是启动一个守护进程。

      -u root 表示启动memcached的用户为root。

      -m 是分配给Memcache使用的内存数量,单位是MB,默认64MB。

      -M return error on memory exhausted (rather than removing items)。

      -u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。

      -p 是设置Memcache的TCP监听的端口,最好是1024以上的端口。

      -c 选项是最大运行的并发连接数,默认是1024。

      -P 是设置保存Memcache的pid文件。

    详细参数说明:

 -p      监听的TCP端口(默认: )
-U 监听的UDP端口(默认: , 0表示不监听)
-s 用于监听的UNIX套接字路径(禁用网络支持)
-a UNIX套接字访问掩码,八进制数字(默认:)
-l 监听的IP地址。(默认:INADDR_ANY,所有地址)
-d 作为守护进程来运行。
-r 最大核心文件限制。
-u 设定进程所属用户。(只有root用户可以使用这个参数)
-m 单个数据项的最大可用内存,以MB为单位。(默认:64MB)
-M 内存用光时报错。(不会删除数据)
-c 最大并发连接数。(默认:)
-k 锁定所有内存页。注意你可以锁定的内存上限。试图分配更多内存会失败的,所以留意启动守护进程时所用的用户可分配的内存上限。(不是前面的 -u 参数;在sh下,使用命令"ulimit -S -l NUM_KB"来设置。)
-v 提示信息(在事件循环中打印错误/警告信息。)
-vv 详细信息(还打印客户端命令/响应)
-vvv 超详细信息(还打印内部状态的变化)
-h 打印这个帮助信息并退出。
-i 打印memcached和libevent的许可。
-P 保存进程ID到指定文件,只有在使用 -d 选项的时候才有意义。
-f 块大小增长因子。(默认:1.25)
-n 分配给key+value+flags的最小空间(默认:)
-L 尝试使用大内存页(如果可用的话)。提高内存页尺寸可以减少"页表缓冲(TLB)"丢失次数,提高运行效率。为了从操作系统获得大内存页,memcached会把全部数据项分配到一个大区块。
-D 使用 作为前缀和ID的分隔符。 这个用于按前缀获得状态报告。默认是":"(冒号)。如果指定了这个参数,则状态收集会自动开启;如果没指定,则需要用命令"stats detail on"来开启。
-t 使用的线程数(默认:)
-R 每个连接可处理的最大请求数。
-C 禁用CAS。
-b 设置后台日志队列的长度(默认:)
-B 绑定协议 - 可能值:ascii,binary,auto(默认)
-I 重写每个数据页尺寸。调整数据项最大尺寸。

   7.查看memcached启动命令:ps aux|grep memcached

    

   8.停止Memcache进程:命令:kill -9 pid

    kill -9 17890

      

【Linux】Memcached安装的更多相关文章

  1. linux memcached 安装

    下载并安装Memcache服务器端服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz ...

  2. Linux Memcached安装以及PHP扩展安装

    一:安装libevent 由于memcached安装时,需要使用libevent类库,所以先安装libevent 1.下载 #wget   http://www.monkey.org/~provos/ ...

  3. linux memcached安装

    准备安装包: libevent-2.0.21-stable.tar.gz  //Memcached服务端的依赖包 memcached-1.4.29.tar.gz   //Memcached服务端 li ...

  4. linux memcached 的安装

    linux memcached安装yum -y install libevent libevent-deve yum list memcached yum -y install memcached m ...

  5. linux下memcached安装以及启动

    1. 准备安装文件 下载memcached与libevent的安装文件 http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz(me ...

  6. Linux下memcached安装和启动方法

    Linux下memcached安装和启动方法 1. 首先下载memcached 和 libevent 包. Memcached用到了libevent这个库用于Socket的处理.下面是下载的两个包文件 ...

  7. 【转】linux下memcached安装以及启动

    1.下载memcached服务器端安装文件 版本: memcached-1.4.25.tar.gz 下载地址:http://www.memcached.org/files/memcached-1.4. ...

  8. linux下安装及配置和启动memcached

    一.下载文件: 下载memcached和libevent,放到/hom/zwl/目录下 # wget http://www.danga.com/memcached/dist/memcached-1.2 ...

  9. Windows和Linux环境下Memcached安装与配置(转)

    一.memcached安装配置 windows平台安装 1.memcached-1.2.6-win32-bin.zip下载地址: http://code.jellycan.com/memcached/ ...

  10. Linux下安装配置Node及memcached

    这篇主要是记录Linux下安装Node及memcached遇到的问题及安装配置过程,方便日后查阅 Node安装及配置 [root@hostname ~]tar zxvf node-v0.12.4.ta ...

随机推荐

  1. SecureCRT去除关闭Session的确认窗口提示

  2. 第一个struct2程序

    [第1步] 安装Struts2 这一步对于Struts1.x和Struts2都是必须的,只是安装的方法不同.Struts1的入口点是一个Servlet,而Struts2的入口点是一个过滤器(Filte ...

  3. 给定一个十进制数,将其转化为N进制数-----17年滴滴笔试题

    题目:给定一个十进制数M,将其转化为N进制数,其中2<=N<=16,其中N为32为整型数; 输入:M N,如7 2 输出转化结果:111 注意点:考虑负数的情况,记得添加负号(其实直接添加 ...

  4. Moment-JavaScript 日期处理类库

    来源:http://momentjs.cn/ 日期格式化 moment().format('MMMM Do YYYY, h:mm:ss a'); // 二月 22日 2017, 4:04:26 下午 ...

  5. EnumMap实现类

    从名字上看出来,EnumMap是为枚举类服务的,它的key不能为null,在创建它的时候,必须要指定一个枚举类,如: EnumMap enumMap = new EnumMap(Season.clas ...

  6. SpringMVC的实现过程

    Spring Web MVC 处理Http请求的大致过程: 一旦Http请求到来,DispatcherSevlet将负责将请求分发.DispatcherServlet可以认为是Spring提供的前端控 ...

  7. time,datetime,时间戳 时间格式转换

    总结: time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) datetime.datetime.now().strftime( ...

  8. centos安装Python插件后找不到对应的插件ModuleNotFoundError: No module named*

    题记 在之前的文章中,我在centos服务器装了python3并且给python与pip建立了软链,利用git上传代码到centos服务器之后利用终端运行app.py的时候会报错. 报错: [root ...

  9. nginx安装及基础配置(含jdk安装及配置)

    0.jdk安装配置 #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz tar -xzf jdk-7u25-linux-x64.tar.gz m ...

  10. php 的多进程实践

    php的多进程处理依赖于pcntl扩展,通过pcntl_fork创建子进程来进行并行处理.   例1如下: <?php $pid = pcntl_fork(); if($pid == -1) { ...