Chinaunix首页 | 论坛 | 博客
  • 博客访问: 312954
  • 博文数量: 103
  • 博客积分: 1590
  • 博客等级: 上尉
  • 技术积分: 1075
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-02 10:17
文章分类

全部博文(103)

文章存档

2013年(32)

2012年(7)

2010年(64)

我的朋友

分类: PHP

2013-05-01 22:35:57

安装

安装Memcached要先安装libevent.

  • libevent

      

    tar -zxvf libevent-1.4.13-stable.tar.gz

    cd libevent-1.4.13-stable

    ./configure

    make

    make install

  • memcached

     

      

     tar -zxvf memcached-1.4.15.tar.gz

    cd memcached-1.4.15

   ./configure

    make

    make install

测试出错:

 memcached -h

 memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

 处理:

 echo "/usr/local/lib">> /etc/ld.so.conf

 ldconfig


使用

运行 memcached 守护程序很简单,只需一个命令行即可,不需要修改任何配置文件(也没有配置文件给你修改 ):
[cmd]
/usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd
参数解释:

-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached 可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。

当然,还有其它参数可以用,man memcached 一下就可以看到了。

 php扩展

  

  

   tar -zxvf memcache-2.2.5.tgz

   cd memcache-2.2.5

   /usr/local/sinasrv2/bin/phpize  ###会生成configure

   whereis php-config

   ./configure  --enable-memcache --with-php-config=/usr/local/sinasrv2/bin/php-config  

   make &&  make install

  ll /usr/local/sinasrv2/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
 修改php.ini
 extendsion=memcache.so 

  测试php扩展:

  php 
/home/taohx/scripts/study/php/memcache/mc_demo.php


php example.php

string(28) "String to store in memcached"

string(3) "123"

object(stdClass)#3 (1) {

  ["attribute"]=>

  string(4) "test"

}

###

$memcache = memcache_connect('localhost', 11211);

if ($memcache) {
        $memcache->set("str_key", "String to store in memcached");
        $memcache->set("num_key", 123);

        $object = new StdClass;
        $object->attribute = 'test';
        $memcache->set("obj_key", $object);

        $array = Array('assoc'=>123, 345, 567);
        $memcache->set("arr_key", $array);

        var_dump($memcache->get('str_key'));
        var_dump($memcache->get('num_key'));
        var_dump($memcache->get('obj_key'));
}
else {
        echo "Connection to memcached failed";
}
?>

客户端:


阅读(871) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~