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();

 ?>

  

时间: 2024-08-01 07:18:11

memcache 在php存取中的应用的相关文章

Linux下安装Memcache以及安装过程中一些问题的解决方法

一.下载安装libevent cd /tmp #切换到tmp目录 wget http://www.monkey.org/~provos/libevent-1.2.tar.gz #下载 tar zxvf libevent-1.2.tar.gz #解压 cd libevent-1.2 #切换到libevent目录 ./configure --prefix=/usr #配置安装路径 #如果此步骤报错,检查一下有没有安装编译器,没有的话运行以下命令进行安装 yum install gcc make #编

在php中使用Memcache

在上一篇博客中我写到了memcache的安装和管理,在这一篇博客中我将写到的是在php中如何使用memcache. 一.安装memcache扩展 首先我们通过phpinfo()函数查看一下我们当前的php环境是否支持memcache扩展,在服务器的根目录下新建一个文件info.php,在文件中写入 1 2 <?php     phpinfo(); 然后在浏览器中输入 http://localhost/info.php  访问,然后查找是否有memcache扩展,一般我们的服务器默认是没有安装me

spring中整合memcached,以及创建memcache的put和get方法

spring中整合memcached,以及创建memcache的put和get方法: 1:在项目中导入memcache相关的jar包 2:memcache在spring.xml的配置: 代码: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="

基于php使用memcache存储session的详解(转)

web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内增加一条语句就可以了,不过前提你需要装好memcache模块 1.设置session用memcache来存储方法I: 在 php.ini 中全局设置session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211"方法II: 某个目录下的 .h

理解PHP中的会话控制

会话控制是一种跟踪用户的通信方式,使用会话控制主要基于以下几点:由于http协议的无状态性,使得不能通过协议来建立两次请求之间的关联:对于通常的页面之间的数据传递方式get和post而言,主要处理参数的传递.资料的输入两个页面间简单的数据传递,对于一个用户的在网站上的多个页面,多种不同的数据,可能还有权限的不同而导致页面的不同.操作方式的不同等等,使用get和post非常繁琐. 1.cookie方式 为了对用户进行跟踪,就必须对用户进行标记,cookie的思想就是,当用户访问网站的第一个页面时,

memcache原理

memcache是一个免费开源的.高性能的.具有分布式内存对象的缓存系统,通过减轻数据库负载加速动态web应用,提高访问网站的相应速度.memcache将经常存取的数据以key-value的方式缓存在内存中. memcache和数据库的协作过程: 1.客户端发送请求到memcache服务器上,memcache检查请求的数据是否存在memcache上,如果存在,直接将数据返回给客户端 2.如果数据不在memcache上,memcache会去查询数据库,数据库会将数据返回给客户端,同时将数据缓存一份

memcache分布式部署的原理分析

下面本文章来给各位同学介绍memcache分布式部署的原理分析,希望此文章对你理解memcache分布式部署会有所帮助哦. 今天在封装memcache操作类库过程中,意识到一直以来对memcache的使用都是局限在单台服务器的情况下,还没有使用到memcache的分布式部署.虽然知道memcache的分布式是怎么回事,但是为了更加深入的理解,还是通过谷歌搜索了这方面的相关资料. 下面是精摘于网络的一些关于 memcache分布式部署 的资料. memcache分布式部署是什么呢?下面通过一个例子

PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP

PHP memcache在数据库查询中应用,减少连接数据库的次数,降低服务器的压力! /*  * memcache应用说明 memory cache 内存缓存  * 工作原理  *  服务器端口port 11211    * MemCached 存取键值对key => value  * 1.内网访问  * 2.设置防火墙  */           //创建memcache对象         $mem  =  new  Memcache();                  //连接memc

JAVA MemCache 史无前例的详细讲解【转】

Memcach什么是Memcache Memcache集群环境下缓存解决方案 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度. Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用. Memcac