PHP模块memcached使用指南

yipeiwu_com5年前PHP代码库

1.添加扩展包

    php_memcache.dll

2.在PHP.INI添加

    extension=php_memcache.dll

3.程序

复制代码 代码如下:

<?php
    //创建一个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.添加数组
    //在添加数组是,根据需要. 希望序列号放入  ,
    //serialize<=>unserialize, 如果根据需要,也可以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 "<br/>";
    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 "<br/>";
    if($mem->delete('key14')){
        echo 'key14 删除';
    }else{
        echo 'key14不存在';
    }

总结:

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

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

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

相关文章

php如何实现不借助IDE快速定位行数或者方法定义的文件和位置

php 如何实现不借助IDE快速定位行数或者方法定义的文件和位置 借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档...

PHP Class&amp;Object -- PHP 自排序二叉树的深入解析

在节点之间再应用一些排序逻辑,二叉树就能提供出色的组织方式。对于每个节点,都让满足所有特定条件的元素都位于左节点及其子节点。在插入新元素时,我们需要从树的第一个节 点(根节点)开始,判断...

利用PHP扩展vld查看PHP opcode操作步骤

首先下载最新版vld扩展: 复制代码 代码如下: ~/public_html/php-5.3.13/ext> wget http://pecl.php.net/get/vld-0....

PHP无限分类代码,支持数组格式化、直接输出菜单两种方式

复制代码 代码如下: <?php /** +------------------------------------------------ * 通用的树型类 +---------...

PHP实现机器学习之朴素贝叶斯算法详解

本文实例讲述了PHP实现机器学习之朴素贝叶斯算法。分享给大家供大家参考,具体如下: 机器学习已经在我们的生活中变得随处可见了。比如从你在家的时候温控器开始工作到智能汽车以及我们口袋中的智...