当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    ubuntu+php环境下的Memcached 安装方法

    栏目:win服务器问题汇总 时间:2019-11-29 10:01

    目前被很多系统所使用,例如Flick、Twitter等。这是一套开放源代码软件,以BSD license授权发布。下面记录一下在lamp环境下的Memcached安装。关于Memcached的应用,这里有两篇不错的文章:《应用 memcached 提升站点性能》、《Discuz!的Memcache缓存实现》

    使用apt安装memcached
    apt-get install memcached
    启动memcached
    1. 终端下使用命令 memcached就可以启动 。例如 memcached -d。
    2. 各个选项说明:
    -d选项是启动一个守护进程,
    -m是分配给Memcached使用的内存数量,单位是MB。
    -u是运行Memcached的用户。
    -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200。
    -p是设置Memcached监听的端口,默认是11211。
    -c选项是最大运行的并发连接数,默认是1024。
    -P是设置保存Memcached的pid文件,例如 /tmp/memcached.pid。
    3. 测试memcached。官方有提供一telnet例子。
    复制代码 代码如下:
    $ telnet localhost 11211
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    get foo
    VALUE foo 0 2
    hi
    END
    stats
    STAT pid 8861

    (etc)安装PHP的memcached拓展
    #sudo apt-get install php5-memcache
    编辑 /etc/php5/apache2/php.in,添加以下内容。(这一步骤参考了网上的配置,并不是最少的配置)。
    [Memcache]
    ; 是否在遇到错误时透明地向其他服务器进行故障转移。
    memcache.allow_failover = On
    ; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。
    memcache.max_failover_attempts = 20
    ; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
    ; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
    memcache.chunk_size = 8192
    ; 连接到memcached服务器时使用的默认TCP端口。
    memcache.default_port = 11211
    PHP环境下的Memcached测试
    复制代码 代码如下:
    <?php
    $memcache = new Memcache;
    $memcache->connect('localhost', 11211) or die ("Could not connect");
    $version = $memcache->getVersion();
    echo "Server's version: ".$version."<br/>\n";
    $tmp_object = new stdClass;
    $tmp_object->str_attr = 'test';
    $tmp_object->int_attr = 123;
    $memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
    echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";
    $get_result = $memcache->get('key');
    echo "Data from the cache:<br/>\n";
    var_dump($get_result);
    ?>