当前位置:首页 > PHP教程 > php应用 > 列表

PHP模块memcached使用指南

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-03 13:53:58 浏览: 评论:0 

这篇文章主要简单介绍了PHP模块memcached使用指南,需要的朋友可以参考下

1.添加扩展包

php_memcache.dll

2.在PHP.INI添加

extension=php_memcache.dll

3.程序,代码如下:

  1. <?php 
  2.     //创建一个mem对象实例 
  3.     $mem=new Memcache; 
  4.     if(!$mem->connect("10.18.110.213",11211)){ 
  5.         die('连接失败!'); 
  6.     } 
  7.     //增加 
  8.     //1.增加一个字串 
  9. /*    if($mem->set('key1',"beijing",MEMCACHE_COMPRESSED,60)){ 
  10.         echo '添加ok'; 
  11.     }*/ 
  12.     //2.添加数值 
  13. /*    if($mem->set('key1',100,MEMCACHE_COMPRESSED,60)){ 
  14.         echo '添加ok'; 
  15.     }*/ 
  16.     //3.添加数组 
  17.     //在添加数组是,根据需要. 希望序列号放入  , 
  18.     //serialize<=>unserialize, 如果根据需要,也可以json_encode <=> json_decode 
  19.     $arr=array("bj",'tj'); 
  20.     if($mem->set('key1',$arr,MEMCACHE_COMPRESSED,time()+31*3600*24)){ 
  21.         echo '添加数组ok99111'
  22.     } 
  23.     //4.添加对象 
  24. /*    class Dog{ 
  25.         public $name; 
  26.         public $age; 
  27.         public function __construct($name,$age){ 
  28.             $this->name=$name; 
  29.             $this->age=$age; 
  30.         } 
  31.     } 
  32.     $dog1=new Dog('小狗',50); 
  33.     if($mem->set('key1',$dog1,MEMCACHE_COMPRESSED,60)){ 
  34.         echo '添加对象ok'; 
  35.     }*/ 
  36.     //5.添加null 布尔值 
  37. /*    if($mem->set('key1',false,MEMCACHE_COMPRESSED,60)){ 
  38.         echo '添加布尔ok'; 
  39.     }*/ 
  40.     //6. 资源类型放入. 
  41. /*    $con=mysql_connect("127.0.0.1","root","root"); 
  42.     if(!$con){ 
  43.         die('连接数据库失败'); 
  44.     } 
  45.     var_dump($con); 
  46.     echo "<br/>"; 
  47.     if($mem->set('key1',$con,MEMCACHE_COMPRESSED,60)){ 
  48.         echo '添加资源ok'; 
  49.     }*/ 
  50.     //查询 
  51.     $val=$mem->get('key1'); 
  52. //修改 
  53.     //可以使用replace 
  54.     if($mem->replace("key11",'hello',MEMCACHE_COMPRESSED,60)){ 
  55.         echo 'replace ok'
  56.     }else
  57.         echo 'replace no ok'
  58.     } 
  59.  
  60.     //删除 
  61.     echo "<br/>"
  62.     if($mem->delete('key14')){ 
  63.         echo 'key14 删除'
  64.     }else
  65.         echo 'key14不存在'
  66.     } 

总结:

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

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

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

Tags: PHP模块 memcached

分享到: