zoukankan      html  css  js  c++  java
  • Memcache与Memcached介绍及安装配置

    Memcache学习总结1-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。 

    Memcached的安装(Linux环境下)

    由于Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,我们先把这两个软件都下载下来 
    #1.分别把memcached和libevent下载回来,放到 /tmp 目录下:
    # cd /tmp
    # wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz 
    # wget http://www.monkey.org/~provos/libevent-1.2.tar.gz 
    
    #2.先安装libevent:
    # tar zxvf libevent-1.2.tar.gz
    # cd libevent-1.2
    # ./configure --prefix=/usr
    # make
    # make install
    
    #3.测试libevent是否安装成功:
    # ls -al /usr/lib | grep libevent
    lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
    -rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
    -rw-r--r-- 1 root root 454156 11?? 12 17:38 libevent.a
    -rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
    lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
    还不错,都安装上了。
    
    #4.安装memcached,同时需要安装中指定libevent的安装位置:
    # cd /tmp
    # tar zxvf memcached-1.2.0.tar.gz
    # cd memcached-1.2.0
    # ./configure --with-libevent=/usr
    # make
    # make install
    如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
    安装完成后会把memcached放到 /usr/local/bin/memcached ,
    
    #5.测试是否成功安装memcached:
    # ls -al /usr/local/bin/mem*
    -rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
    -rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug


    好了,以上就把memcached安装成功了 

    下面安装Memcache的PHP扩展

    1.在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。 
    2.安装PHP的memcache扩展 
    tar vxzf memcache-2.2.1.tgz
    cd memcache-2.2.1
    /usr/local/php/bin/phpize
    ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
    make
    make install


    3.上述安装完后会有类似这样的提示: 
    Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/ 

    4.把php.ini中的extension_dir = "./"修改为 
    extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/" 

    5.添加一行来载入memcache扩展:extension=memcache.so 

    6、修改未配置后重启PHP 

    到这里我们已经把Memcache的服务端和客户端都安装好了,下面我们来通过PHP做一个简单地测试 

    Memcache功能测试

    首先我们得在服务端启动已经安装好的Memcached 
    /usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid 

    参数说明: 
    -d选项是启动一个守护进程, 
    -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, 
    -u是运行Memcache的用户,我这里是root, 
    -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200, 
    -p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口, 
    -c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定, 
    -P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid, 

    然后编写PHP测试: 

    [php] view plaincopy
     
    1. < ?php  
    2. $mem = new Memcache;  
    3. $mem->connect("127.0.0.1", 11211); //此处的IP和端口号就是上一步我们启动memcached指定的,否则会连接不上  
    4. $mem->set('key', 'set a value', 0, 60);  
    5. $val = $mem->get('key');  
    6. echo $val;  
    7. ?>  


    参考来源: 
    Memcache学习总结1-Memcache与Memcached介绍及安装配置
    http://www.lai18.com/content/407157.html

  • 相关阅读:
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 构建Web界面(Ⅴ)
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 数据统计(Ⅳ)
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 首页快捷方式(Ⅲ)
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 登录窗口(Ⅱ)
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 系统设置(Ⅰ)
    基于WebForm+EasyUI的业务管理系统形成之旅 -- 总体介绍
    LeetCode-Implement Queue using Stacks
    LeetCode-Implement Stack Using Queues
    LeetCode-Count Primes
    LeetCode-Reverse Bits
  • 原文地址:https://www.cnblogs.com/xxcn/p/4385412.html
Copyright © 2011-2022 走看看