PHP操作Memcached的各种数据方式

首先,在实现所说的东西之前,要先确定好这么三件事:

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:实际开发中,可能需要进行序列化处理,这个会在我的下一篇博文介绍

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。