首先,在实现所说的东西之前,要先确定好这么三件事:
1:安装了Memcached。
2:Memcached支持自己php所用版本。
3:开启了Memcached服务,并打开了php.ini的Memcached模块
如说上述条件都满足了,那么我就说一下如何去用php操作:
为了较为清晰的说明,而且空说无凭,所以我统一在下面的额代码里面加入测试,其中包括了我的所有测试过程:
还要说一下,这里主要测试的是数据的CURD操作。
<?php //Memcached是面向对象来操作的 $mem=new Memcache; //创建memcache对象 if(!$mem->connect('127.0.0.1',11211)){ die("连接失败"); //退出 } //连接memcached,参数的IP地址,11211端口 //增加一组数据:参数分别表示:键名-键值-压缩-保存时间 /* //增加字符串 if($mem->add('key1','北京',MEMCACHE_COMPRESSED,60)){ echo "添加数据成功"; } */ //增加数字 /* if($mem->add('key1',123456,MEMCACHE_COMPRESSED,120)){ echo "添加数字成功"; }*/ //添加数组 /* $arr = array('北京','天津'); if($mem->add('key1',$arr,MEMCACHE_COMPRESSED,120)){ echo "添加数组成功".'<br/>'; } */ //添加对象 /* class Dog{ public $name; public $age; public function __construct($name,$age){ $this->name=$name; $this->age=$age; } } $dog1=new Dog('小白',40); if($mem->add('key1',$dog1,MEMCACHE_COMPRESSED,60)){ echo "添加对象成功"; } */ //添加空值(0,null,(),false,0.0, “0” 空数组,空对象) /* if($mem->add('key1',null,MEMCACHE_COMPRESSED,60)){ echo "添加空值成功"; }*/ //添加资源类型 /* $con=mysql_connect('localhost','root','toor'); //var_dump($con); //事实说明Memcached不能够保存资源类型数据 if(!$con){ echo "添加资源失败"; }else{ if($mem->add('key1',$con,MEMCACHE_COMPRESSED,60)){ echo "添加资源成功"; } } */ //两种情况,键名不存在:就创建数据,反之修改 /* if($mem->set('key1','上海',MEMCACHE_COMPRESSED,60)){ echo "修改数据成功"; } */ //查询数据,和控制台的方式相同,返回的是结果 $value=$mem->get('key1'); print_r($value); ?>以上是php操作Memcached的各种数据方式,有两点要说
1:当保存输出对象数据的时候,如果在另一个页面去输出,会出现数据不完整的错误,可以引入类文件去解决。
2:实际开发中,可能需要进行序列化处理,这个会在我的下一篇博文介绍
原文地址:http://blog.csdn.net/mycodedream/article/details/44859137