• memcache与memcached介绍及安装配置


    也许大家一看到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

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

    2、安装memcached

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

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

    1 [root@lys2 memcached-1.4.32]# ll /usr/local/bin/memcached 
    2 -rwxr-xr-x 1 root root 446185 10月 16 10:03 /usr/local/bin/memcached

    3、启动memcached

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

    参数说明:

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

    关闭memcached的命令为:

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

    4、安装memcache的php扩展

     1 [root@lys2 src]# wget http://pecl.php.net/get/memcache-2.2.7.tgz
     2 [root@lys2 src]# tar zxvf memcache-2.2.7.tgz
     3 [root@lys2 src]# cd memcache-2.2.7
     4 [root@lys2 memcache-2.2.7]# /usr/local/php/bin/phpize
     5 Configuring for:
     6 PHP Api Version:         20131106
     7 Zend Module Api No:      20131226
     8 Zend Extension Api No:   220131226
     9 [root@lys2 memcache-2.2.7]# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config 
    10 [root@lys2 memcache-2.2.7]# make && make install

    安装完成后会有以下提示

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

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

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

    1 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;
    ?>
    1 [root@lys2 data]# /usr/local/php/bin/php test.php 
    2 hello world
  • 相关阅读:
    Python3 字典Dict(十三)
    Python3 元组Tuple(十二)
    Python3 列表List(十一)
    Python3 循环语句(十)
    Python3 条件控制(九)
    Python3 运算符(八)
    Swift3.0语法2
    Swift反射机制实现 AppDelegate 字符串获取类并成为根控制器
    Swift语法(更新)
    单例
  • 原文地址:https://www.cnblogs.com/liuyisai/p/5970647.html
Copyright © 2020-2023  润新知