memcache 在php存取中的应用

当用户刷新网页或有大量用户访问网站时,就会产生大量数据库查询进程,这不但拖慢了网页打开速度,同时也给服务器带来了很大压力。

作为php菜鸟,今天刚刚接触到了 memcache 这个东东,于是自己跟着文档做了一个实例,一方面鼓励自己,另一方面等大神轻喷~

<?php 
	header("Content-Type:text/html;charset=utf-8");
	//创建memcache对象
	$mem = new Memcache;

	//连接memcache服务器
	$mem->connect("localhost",11211);


	$sql = "select id,name,pass,age,sex,email from user order by id";
	$key = md5($sql); //可用SQL语句做键值

	//直接从内存中要数据
	$data = $mem->get($key);

	//如果内存中没有数据,就从数据库中取出
	if (empty($data)) {
		
		//数据库连接操作
		try{
			$pdo = new PDO("mysql:host=localhost;dbname=phpdemo", "root", "");

		}catch(PDOException $e){
			echo "数据库连接失败,原因是".$e->getMessage();
		}
		
		
		$stmt = $pdo->prepare($sql);

		$stmt->execute();

		$data = $stmt->fetchAll(PDO::FETCH_ASSOC);

		$mem->add($key, $data, MEMCACHE_COMPRESSED, 5); //5秒

		echo "<br>这是第一次访问,从数据库访问并存到内存中!";
	}
	echo "<pre>";
	print_r($data);
	echo "</pre>";
	
	//关闭连接
	$mem->close();

 ?>

  

原文地址:https://www.cnblogs.com/zhongshanblog/p/4558256.html