也许大家一看到Memcache和Memcached会有点晕,这两者有什么关系又有什么区别呢,下面先给大家说下Memcached,Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

想必大家也听说过Memcached,就是一个缓存系统,我们可以把一些经常要查询的数据放到缓存中,避免每次要使用的时候都去查询数据库。这样既能大幅的加快数据读取速度,而且也降低了服务器的压力,所以一般大访问量的网站都会用的Memcached。

Memcached与Memcache的区别

至于Memcached和Memcache的区别,其实很简单,一个是服务端,一个是客户端,就像mysql一样,我们在命令行里输入各种sql语句就能查询到需要的结果,这就是客户端,客户端接收我们输入的命令从服务端查询,mysqld就是服务端,就是响应客户端的额后台进程,在这里也一样Memcached是服务端,而Memcache就是客户端。

所以我们要使用Memcached,首先在服务端安装好Memcached,并运行Memcached,然后安装Memcache就能使用了。

在这里我们会详细的讲解在Linux下安装Memcached服务端,并讲解通过PHP扩展安装Memcache,以便我们直接通过PHP来测试Memcached。

由于Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent

1、安装libeven

 [root@lys2 src]# wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
[root@lys2 src]# tar zxvf libevent-1.4.-stable.tar.gz
[root@lys2 src]# cd libevent-1.4.-stable
[root@lys2 libevent-1.4.-stable]# ./configure
[root@lys2 libevent-1.4.-stable]# make && make install
 [root@lys2 libevent-1.4.-stable]# rpm -qa libevent
libevent-1.4.-.el6.x86_64

2、安装memcached

 [root@lys2 src]# wget http://memcached.org/files/memcached-1.4.32.tar.gz
[root@lys2 src]# tar zxvf memcached-1.4..tar.gz
[root@lys2 src]# cd memcached-1.4.
[root@lys2 memcached-1.4.]# ./configure
[root@lys2 memcached-1.4.]# make && make install

安装完成后,memcached的默认目录为/usr/local/bin/memcached

 [root@lys2 memcached-1.4.]# ll /usr/local/bin/memcached
-rwxr-xr-x root root 10月 : /usr/local/bin/memcached

3、启动memcached

 [root@lys2 memcached-1.4.]# /usr/local/bin/memcached -m 32m -p  -d -u root -P /var/run/memcached.pid -c  -vv

参数说明:

-d选项是作为守护进程在后台运行
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件
-vv是以very vrebose模式启动,将调试信息和错误输出到控制台
 [root@lys2 memcached-1.4.]# netstat -unlpt | grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /memcached
tcp ::: :::* LISTEN /memcached
udp 0.0.0.0: 0.0.0.0:* /memcached
udp ::: :::* /memcached

关闭memcached的命令为:

 [root@lys2 memcached-1.4.]# kill `cat /var/run/memcached.pid`

4、安装memcache的php扩展

 [root@lys2 src]# wget http://pecl.php.net/get/memcache-2.2.7.tgz
[root@lys2 src]# tar zxvf memcache-2.2..tgz
[root@lys2 src]# cd memcache-2.2.
[root@lys2 memcache-2.2.]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
[root@lys2 memcache-2.2.]# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
[root@lys2 memcache-2.2.]# make && make install

安装完成后会有以下提示

 Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-/

修改php.ini文件,把php.ini中的extension_dir='./' 修改为extension_dir='/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/'

添加如下一行代码来载入memcache扩展:

 extension=memcache.so

5、测试memcache的php扩展是否安装成功

运行下面的php代码,如果输出“hello world”,就表示环境搭建成功

<?php
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('test','hello world',0,12);
$val = $mem->get('test');
echo $val;
?>
 [root@lys2 data]# /usr/local/php/bin/php test.php
hello world

memcache与memcached介绍及安装配置的更多相关文章

  1. kudu介绍及安装配置

    kudu介绍及安装配置 介绍 Kudu 是一个针对 Apache Hadoop 平台而开发的列式存储管理器.Kudu 共享 Hadoop 生态系统应用的常见技术特性: 它在 commodity har ...

  2. NoSQL、memcached介绍、安装memcached、查看memcached状态

    1.NoSQL 2.memcached介绍     3.安装memcached(二进制包安装) yum install -y memcached libmemcached libevent (若没有安 ...

  3. MySQL介绍,下载,安装,配置

    MySQL用了很多年了,今天写个总结. 一.介绍 MySQL是开源软件,后来归Oracle所有.开源便于软件的完善改进.但开源不等于滥用,也不等于完全免费.MySQL有商业版,商业用途是付费的.也有免 ...

  4. Git介绍及安装配置

    一.概述 1.1git概念 Git是一个开源的分布式版本控制系统,用于敏捷高效处理任意规模的项目,其作者为Linux创造者Linus Torvalds为管理Linux内核而开放的一个开源的版本控制柔软 ...

  5. kafka介绍及安装配置(windows)

    Kafka介绍 Kafka是分布式的发布—订阅消息系统.它最初由LinkedIn(领英)公司发布,使用Scala和Java语言编写,与2010年12月份开源,成为Apache的顶级项目.Kafka是一 ...

  6. S1_搭建分布式OpenStack集群_03 Mysql、MQ、Memcached、ETCD安装配置

    一.安装mysql(contorller)controller ~]# yum -y install mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 ...

  7. 每天收获一点点------Hadoop基本介绍与安装配置

    一.Hadoop的发展历史 说到Hadoop的起源,不得不说到一个传奇的IT公司—全球IT技术的引领者Google.Google(自称)为云计算概念的提出者,在自身多年的搜索引擎业务中构建了突破性的G ...

  8. 【Linux】memcache和memcached的自动安装

    赶时间所以写一个简单的一个脚本,没有优化,想优化的可以学习下shell,自己优化下. 且行且珍惜,源码包+脚本领取处 链接:https://pan.baidu.com/s/1wIFR1wY-luDKs ...

  9. 具体图解 Flume介绍、安装配置

    写在前面一: 本文总结"Hadoop生态系统"中的当中一员--Apache Flume 写在前面二: 所用软件说明: 一.什么是Apache Flume 官网:Flume is a ...

随机推荐

  1. oracle case when 在查询时候的用法。

    select count(1), features_level from (SELECT i.features_level, i.features, T.BASEAMINE_ID, T.COLUMN_ ...

  2. HTML5能取代IOS原生应用吗

    介绍 移动应用程序(App)和HTML5都是目前最火的技术,二者之间也有不少重叠之处.在移动设备浏览器里运行的html5的web页面,也可以重新打包成不同平台上运行的app.目前很多浏览器都有很好的跨 ...

  3. ant 构建时遇到 “非法字符: \65279”的解决办法

    今天使用CI做版本构建时候碰到了这样一个问题,有个activity对应的java源码始终编译报错,错误发生在文件第一行. 出错内容是: *.java:1: 非法字符: \65279    [javac ...

  4. UVA 11082 矩阵解压(网络流建模)

    矩阵解压 紫书P374 建模真的是挺难的,如果直接给我这题,我是想不到用网络流的,所以还应多做网路流建模,学会如何转化成网络流 还有,现在用的EK算法是比较慢的,还应去看看Dnic和ISAP,并且理解 ...

  5. ConfigParser.MissingSectionHeaderError: File contains no section headers.

    今天使用ConfigParser解析一个ini文件,报出如下错误: config.read(logFile) File "C:\Python26\lib\ConfigParser.py&qu ...

  6. 用wamp配置的环境,想用CMD连接mysql怎么连

    签:用wamp配置的环境   想用cmd连接mysql怎么连 进到d盘该目录     (cd切不了盘,就输入盘符加冒号回车,再cd到目录) WAMP装好后,mysql数据库运行时没有 mysql 和 ...

  7. MEF load plugin from directory

    var catalog = new AggregateCatalog(); catalog.Catalogs.Add(new DirectoryCatalog(".")); var ...

  8. 标准盒模型与IE盒模型之间的转换

    首先上图,这两张很明显可以看出IE盒模型和标准盒模型之间的差别. 当然今天不是去细细追究两种模型具体是怎么去计算布局的,那个很多文章已经已经有过了,不再重复.以前刚开始学习盒模型的时候,就学到的是IE ...

  9. json格式的数组长度

    var data = [{"id":"1","name":"a"},{"id":"2&qu ...

  10. [CF225C] Barcode (简单DAG上dp)

    题目链接:http://codeforces.com/problemset/problem/225/C 题目大意:给你一个矩阵,矩阵中只有#和.两种符号.现在我们希望能够得到一个新的矩阵,新的矩阵满足 ...