PHP模块memcached使用指南_PHP

WBOY
Freigeben: 2016-05-31 18:15:42
Original
934 Leute haben es durchsucht

1.添加扩展包

    php_memcache.dll

2.在PHP.INI添加

    extension=php_memcache.dll

3.程序

代码如下:


    //创建一个mem对象实例
    $mem=new Memcache;
    if(!$mem->connect("10.18.110.213",11211)){
        die('连接失败!');
    }
    //增加
    //1.增加一个字串
/*    if($mem->set('key1',"beijing",MEMCACHE_COMPRESSED,60)){
        echo '添加ok';
    }*/
    //2.添加数值
/*    if($mem->set('key1',100,MEMCACHE_COMPRESSED,60)){
        echo '添加ok';
    }*/
    //3.添加数组
    //在添加数组是,根据需要. 希望序列号放入  ,
    //serializeunserialize, 如果根据需要,也可以json_encode json_decode
    $arr=array("bj",'tj');
    if($mem->set('key1',$arr,MEMCACHE_COMPRESSED,time()+31*3600*24)){
        echo '添加数组ok99111';
    }
    //4.添加对象
/*    class Dog{
        public $name;
        public $age;
        public function __construct($name,$age){
            $this->name=$name;
            $this->age=$age;
        }
    }
    $dog1=new Dog('小狗',50);
    if($mem->set('key1',$dog1,MEMCACHE_COMPRESSED,60)){
        echo '添加对象ok';
    }*/
    //5.添加null 布尔值
/*    if($mem->set('key1',false,MEMCACHE_COMPRESSED,60)){
        echo '添加布尔ok';
    }*/
    //6. 资源类型放入.
/*    $con=mysql_connect("127.0.0.1","root","root");
    if(!$con){
        die('连接数据库失败');
    }
    var_dump($con);
    echo "
";
    if($mem->set('key1',$con,MEMCACHE_COMPRESSED,60)){
        echo '添加资源ok';
    }*/

    //查询
    $val=$mem->get('key1');
//修改
    //可以使用replace
    if($mem->replace("key11",'hello',MEMCACHE_COMPRESSED,60)){
        echo 'replace ok';
    }else{
        echo 'replace no ok';
    }

    //删除
    echo "
";
    if($mem->delete('key14')){
        echo 'key14 删除';
    }else{
        echo 'key14不存在';
    }

总结:

1.      mem服务的数据不是同步的, 数据是分布的

2.      把什么数据放入到哪个memcached是由客户端的mem对象决定

3.      当执行addServer的时候,并不是立即去连接mem服务,而是通过计算,hash后才去决定连接哪个mem服务,因此当你大量加入服务器到连接池,没有多余开销

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage