php中memcache 基本操作实例


Posted in PHP onMay 17, 2015

php中memcache 基本操作实例

<!DOCTYPE html>
<html>
<head>
<title>memcache demo</title>
<meta http-equiv="content-type"content="text/html;chatset=utf-8">
</head>
<body>
<?php
$server_ip = '127.0.0.1';
$server_port = 11211;

$memcache = new Memcache();
$memcache->connect($server_ip,$server_port);

$memcache->add("name1","user_name1",MEMCACHE_COMPRESSED,0);
$memcache->add("name2","user_name2",MEMCACHE_COMPRESSED,0);
$array1 = array('name1' => 'jiajiam1', 
'age1'=>12,
'country'=>'china');
$memcache->add("other",$array1,MEMCACHE_COMPRESSED,20);
$memcache->set("name3","user_name3",MEMCACHE_COMPRESSED,0);
$memcache->replace("name1","user_name_relpace",MEMCACHE_COMPRESSED,0);
$memcache->replace("123","12345");

echo"name1:".$memcache->get("name1")."<br/>";
$memcache->delete("name1");
echo"name1:".$memcache->get("name1")."<br/>";

$array_get = array("name1","name2","name3");

$result_get = $memcache->get($array_get);
foreach ($result_get as $key => $value) {
echo"$key:--->$value<br/>";
}
foreach ($memcache->getStats() as $key => $value) {
echo"$key:--->$value<br/>";
};

echo"<br/>";

foreach($memcache->getExtendedStats() as $key => $value) {
echo"$key:--->$value<br/>";
}
$memcache->close();
?>
</body>
</html>

我们再来看个更加具体些的实例

<?php
include('inc/common.inc.php');

if (! isset($city) || ! is_array($city) ) {
	exit;
}

//print_r ($city);exit;

$mem = new Memcache();
$mem-> connect('localhost', '11211');
$expires=15*60;

//check if cache exits
if(($value = $mem-> get($city)) != FALSE) {
	echo "get key from memcache: "."<br />";
	// 	$return=$mem->get($city);
	// 	echo json_encode($return);
}//if
else {
	$resultJson=fetch_data();
	echo count($resultJson)."<br />";
	if(count($resultJson)==1 || empty($resultJson)){
		//从mysql中取值
		echo "get key from mysql:"."<br />";
		$query="select * from pm25";
		$result=mysql_query ($query) ;
		while ($row = mysql_fetch_assoc($result)){
			$rows[]=$row;
		}
		//将获取的值数组存入memcache
		for($i=0;$i<count($rows);$i++){
			$k[$i]=$rows[$i]['city'];
			$v[$i]['city']=$rows[$i]['city'];
			$v[$i]['pm25']=$rows[$i]['pm25'];
			$mem -> set($k[$i], $v[$i], false, $expires);
		}
		// 		$return=$mem->get($city);
		// 		echo json_encode($return);
	}//if
	else{
		echo "get key from new_writed mysql:"."<br />";
		write_db($resultJson);
		$query="select * from pm25";
		$result=mysql_query ($query) ;
		while ($row = mysql_fetch_assoc($result)){
			$rows[]=$row;
		}
		//write memcache
		for($i=0;$i<count($rows);$i++){
			$k[$i]=$rows[$i]['city'];
			$v[$i]['city']=$rows[$i]['city'];
			$v[$i]['pm25']=$rows[$i]['pm25'];
			$mem -> set($k[$i], $v[$i], false, $expires);
		}
		// 		$return=$mem->get($city);
		// 		echo json_encode($return);
	}//else

}//else

foreach ($city as $k=>$v){
	$return[$k]=$mem->get($v);
}
echo json_encode($return);

function fetch_data() {
	$url="http://www.example.com";
	//$url="";	
	$data = http_get($url);
	$getJson = json_decode($data, true);
	return $getJson;
} //func fetch_data

function write_db($getJson){
	$sql="DELETE FROM pm25";
	mysql_query($sql);
	//sort the json.txt
	foreach ($getJson as $key => $row) {
		$area[$key] = $row['area'];
		$pm2_5[$key]= $row['pm2_5'];
	}
	array_multisort($area, SORT_ASC,$pm2_5,SORT_ASC,$getJson);
	for($i=0;$i<count($getJson)-1;$i++){
		if($getJson[$i]['pm2_5']==0)
			$count=0;
		else
			$count=1;
		$sum=$getJson[$i]['pm2_5'];
		for($j=$i+1;$j<count($getJson);$j++,$i++){
			if(strcmp($getJson[$j]['area'],$getJson[$i]['area'])==0 ){
				if($getJson[$j]['pm2_5']==0 ){
					continue;
				}
				else{
					$count++;
					$sum+=$getJson[$j]['pm2_5'];
					$pm2_5=$sum/$count;
				}
			}
			else{
				//insert into mysql
				$result['city']=$getJson[$i]['area'];
				$result['pm25']=intval($pm2_5);
				$query="insert into pm25(city,pm25) values ('".$result['city']."',".$result['pm25'].")";
				mysql_query($query);
				break;
			}
		}
	}
	return $getJson;
}//func write_db


$mem -> close();
?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
十天学会php之第六天
Oct 09 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
php 分页函数multi() discuz
Jun 21 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
Jan 10 PHP
php生成随机颜色方法汇总
Dec 03 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
PHP获取Exif缩略图的方法
Jul 13 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
php使用curl并发减少后端访问时间的方法分析
May 12 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
php实现根据身份证获取精准年龄
Feb 26 PHP
PHP实现过滤各种HTML标签
May 17 #PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 #PHP
php 批量查询搜狗sogou代码分享
May 17 #PHP
PHP解密Unicode及Escape加密字符串
May 17 #PHP
PHP实现远程下载文件到本地
May 17 #PHP
PHP生成json和xml类型接口数据格式
May 17 #PHP
php实现文本数据导入SQL SERVER
May 17 #PHP
You might like
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
基于JS实现限时抢购倒计时间表代码
2017/05/09 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
PyTorch中permute的用法详解
2019/12/30 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
小学红领巾中秋节广播稿
2014/01/13 职场文书
大学军训感言300字
2014/03/09 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
逃出克隆岛观后感
2015/06/09 职场文书