php+memcached实现定时静态页面生成

本文介绍了一个使用PHP实现Memcache缓存的具体案例,包括如何设置和获取缓存对象,以及如何利用文件系统进行二次缓存以减轻数据库压力。通过这种方式可以有效提升网站性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
	header('content-type:text/html;charset="utf8"');
	error_reporting(E_ALL^E_NOTICE^E_WARNING);
	$memcache = new Memcache();
	$memcache->connect('localhost','11211')or die('Memcached连接失败');
	//定义一个对象
	$tmp_object = new stdClass();
	$tmp_object->username='tomm';	
	$tmp_object->password='123';	
	$tmp_object->msg='hello~my name is tom';
	//memcache->set('设置值的key','设置存储的值','是否使用MEMCACHE_COMPRESSED压缩,0或false表示不压缩','过期时间/秒')	
	$memcache->set('user',$tmp_object,false,10);
	$get_res = $memcache->get('user');
	
	// $id = $_GET['id'];
	$id = 11;
	$filename = "static_id_".$id.".html";
 	$status = filemtime($filename)+30>time();//判断文件创建及修改时间距当前时间是否超过30秒 
 	if(file_exists($filename)&&$status){
	 	$str = file_get_contents($filename);
		echo $str;
    }else{
		/***缓存开始***/
		ob_start();//下面的内容将存到缓存区中,显示的内容都将存到缓存区
		foreach ($get_res as $key => $value) {
			echo $key.'==>'.$value.'<br/>';
		}
		$content = ob_get_contents();//从缓存中获取内容
		ob_end_clean();//关闭缓存并清空
		/***缓存结束***/
		file_put_contents($filename, $content);
		echo $content;
    }
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值