概念
memcache 是一个高效的分布式的内存对象缓存系统,他可以支持把php的各种数据(数组,对象,基本数据类型)放在它管理的内存中
原理图
安装memcached
yum install memcached #安装memcached chkconfig --add memcached #设置系统自动启动 vim /etc/init.d/memcached #设置memcached启动的参数
安装memcache client php插件
wget http://pecl.php.net/get/memcache-2.1.2.tgz tar -xvf memcache-2.1.2.tgz cd memcache-2.1.2 phpize && ./configure --enable-memcache && make #拷贝memcache.so到php的扩展module中 #修改php.ini文件,添加extension=memcache.so
代码使用
<?php //1.实例化一个Memcache对象 $mem=new Memcache; //2. 连接到指定的memcache中 $mem->connect("127.0.0.1",11211); //0表示不压缩数据,如果使用压缩MEMCACHE_COMPRESSED if(!$mem->add("name","test1",0,30)){ echo "name 已经存在了"; }else{ echo "ok!"; } //可以放入数值 if(!$mem->add("age",100,0,30)){ echo "age 已经存在了"; }else{ echo "ok!"; } //可以放入boolean if(!$mem->set("ok",true,0,30)){ echo "ok 保存成功"; }else{ echo "ok!"; } //放入数组 $arr1=array("aa"=>"北京","bb"=>"天津"); //对数组进行序列化,在网络传输的时候,为了保证,数据类型的不丢失, //先序列化,再发生. //$arr1=serialize($arr1); $arr2=json_encode($arr1); print_r($arr2); $mem->add("arr",$arr1,MEMCACHE_COMPRESSED,100); //对象 require "Person.class.php"; $person=new Person(10,"xiaoming"); $mem->add("per1",$person,MEMCACHE_COMPRESSED,100); //取出 $per2=$mem->get("per1"); var_dump($per2); echo "对象名字=".$per2->name; //string, int,float, boolean array object null resource //不能把resource 类型放入到memcache $con=mysql_connect("localhost","root","root"); echo "<br/>"; var_dump($con); $mem->add("mylink",$con); ?> 关于如何使用多个memcached 缓存服务器. <?php $mem=new Memcache(); //如果我们网站,需要多个memached缓存系统. //$mem->connect("localhost",11211); (立即向localhost的11211端口发出连接) $mem->addServer("192.168.1.100",11211);//256 ->10m $mem->addServer("192.168.1.200",11211); $mem->addServer("192.168.1.222",11211); //创建多个memcache服务使用. //addServer 会根据负载均衡算法,自动放入每个服务器 $mem->add("name","zs",0,100); ?>
注意:string, int,float, boolean array object null resource 中除了 resource 不能存放,其它都可以.
相关推荐
整理了一个Memcache数据缓存操作类库文件,希望对各位会有帮助,操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以...
这是memcache.dll5.3.5的一个扩展,下载只要装到PHP里的ext文件下就可以
数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面...缓存cache时间上的控制,通过获取缓存文件的创建时间和现在的时间进行对比,如果没有到更新时间,直接读取缓存,如果到了更新时间,查询数据库.
分享一篇关于php中缓存Memcache的Queue的用法,Memcache是一种缓存技术,可以提升程序的性能减轻服务器的压力,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升...
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。这是一套开放源...
今天刚做的一个MySQL操作类,基本功能已经完成,支持连贯操作,支持基本的增改删差,...自动缓存管理,可以选择文件缓存,或者memcache(也可以很方便的扩展其他缓存方式)。 使用方法我都写在代码里了,大家看看吧。
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力
不必每个访客建立一个会话,目前我的做法是把实例化的类存入了$_SESSION['c']内,这样的做法是比较方便,但是弊端是每个访客都要开一个新的会话,大家拿到代码之后可以修改一下把类的实例存入到memcache或数据库内都行
一个php内存缓存Memcached类代码,构造方法,用于添加服务器并创建memcahced对象,获取memcached对象,检查mem是否连接成功,向memcache中添加数据,获取memcahce中保存的数据,删除和同一个表相关的所有缓存。
内附高老师的memcache安装说明 本人的使用示例和memcache windows下的安装包、PHP扩展包及linux的源码包 缓存技术是数据库的救星 希望大家多多交流
Memcache PHP 扩展将为访问缓存提供一个简单的应用程序接口 (API)。要使用缓存,需要调用 API 来确定先前是否已缓存了对象。如果已经缓存,只需检索该对象并继续进行处理。否则,转至数据库、获取必需的数据、将其...
使不使用缓存技术并没有什么影响,但如果高并发的情况,使用缓存技术就显得很重要了,可以很好的减轻数据库和服务器的压力,当然解决高并发的技术有很多,这里只是以缓存的角度来说明使用memcache的便捷性和方便性,
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从...
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。 win32位 5.3.8PHP对应的memcache 产品...
本文实例讲述了PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库。分享给大家供大家参考,具体如下: <?php header("content-type:text/html;charset=utf-8"); @$atc=$_GET['atc']; $mem=new ...
2, 使用浏览器访问CreatModel.php生成数据库操作代码 3, 在所有页面引入Model/ Models.php 4, 至此已经可以开发了 欢迎与我交流讨论QQ:289597842 Email :jia5255@163.com 祝您好运! 张世甲 2012年10月
Memcache 一般用于缓存服务。但是很多时候,比如一个消息广播系统,需要一个消息队列。直接从数据库取消息,负载往往不行。如果将整个消息队列用一个key缓存到memcache里面.
主要介绍了PHP中Memcache操作类及用法,以实例形式详细分析了Memcache类连接数据库及进行缓存操作的具体用法,非常具有实用价值,需要的朋友可以参考下