概念
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 不能存放,其它都可以.
相关推荐
**Memcached数据库缓存系统详解** Memcached是一种高性能的分布式内存对象缓存系统,它能够减轻数据库的压力,提高Web应用的响应速度。该系统最初由LiveJournal的Danga Interactive开发,现已被广泛应用在许多大型...
整理了一个Memcache数据缓存操作类库文件,希望对各位会有帮助,操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以...
Memcache的工作流程通常采用后缓存技术,即先从数据库读取数据,然后将数据放入缓存供后续请求使用。然而,当用户写入数据到主库后,若直接从缓存读取,可能会遇到数据不一致的问题。为解决这个问题,可以采用先缓存...
MemCache和Redis是两种广泛使用的分布式内存缓存系统,它们能够有效地存储和检索数据,减轻数据库的负担,提升应用的性能。本文将深入探讨MemCache和Redis的基本概念、特点以及应用场景。 **MemCache** 1. **基本...
在实际应用中,我们还可以使用Memcache进行更复杂的操作,如删除缓存数据、检查键是否存在、批量操作等。同时,Memcache支持多服务器集群,通过分片策略将数据分布到多个服务器,进一步提高系统的可扩展性和可靠性。...
标题提到的"数据库缓存扩展",在这个上下文中,特指PHP环境中的Memcache扩展。Memcache是一款广泛使用的分布式内存对象缓存系统,它能够存储数据在内存中,减少对数据库的直接访问,从而提升了整体系统的响应速度。 ...
当应用需要数据时,首先尝试从Memcache中获取,如果存在则直接返回,不存在则从数据库中读取并存入Memcache,这一过程被称为缓存命中和缓存未命中的处理。Memcache采用哈希表结构,确保了高效的键查找,同时支持多...
1. **Web应用加速**:对于高并发的Web应用,使用MemCache缓存常用数据,可以显著减少数据库的读取压力。 2. **减少数据库负载**:避免大量重复的数据库查询,提高数据库的使用寿命。 3. **Session共享**:在分布式...
Memcache是一款广泛使用的分布式内存对象缓存系统,它能存储键值对数据,并在内存中快速访问,减少数据库的负载。 **Memcache服务端** Memcache服务端是运行在服务器上的一个进程,它接收来自客户端(如PHP应用)...
标签为“安全”,这可能意味着讨论的话题涉及到如何在使用Memcache进行数据库缓存时,确保数据的安全性和防止潜在的安全风险。 在文档的`Datelink`类中,可以看到以下关键知识点: 1. **单例模式**:`Datelink`类...
memcache是广泛应用于Web开发中的一个内存对象缓存系统,它能够提高网站性能,通过将数据存储在内存中,减少对数据库的访问,从而加快数据读取速度。 PHP的memcache扩展允许开发者在PHP应用程序中与memcached服务器...
4. **分布式缓存的优势**:通过使用Memcache和`php_memcache`,开发者可以将热点数据存储在内存中,减少对数据库的直接访问,大大提高数据读取速度。此外,Memcache支持多服务器集群,可以将数据分散在多个节点上,...
标题中的“php5.3.5下可以使用的php_memcache.dll”指的是PHP的一个扩展模块,用于在PHP 5.3.5版本环境下与Memcache缓存系统进行交互。这个dll文件是Windows平台上的动态链接库文件,是PHP与Memcache进行通信的关键...
本文将深入探讨标题"php memcache php_apc php_file 缓存插件"所涉及的三个主要缓存机制:文件缓存、Memcache和APC(Alternative PHP Cache),以及它们在PHP中的应用。 1. 文件缓存: 文件缓存是最基础的缓存方式...
标题 "php5.4_memcache.dll 64...在实际使用中,开发者需要将`php_memcache.dll`添加到PHP的扩展目录,并在php.ini配置文件中启用该扩展,同时确保`memcached.exe`在系统路径中可找到,以便启动和管理Memcached服务。
现在,PHP7已经成功安装了Memcache扩展,可以在代码中使用`memcache`类进行缓存操作。 在实际应用中,使用Memcache扩展可以实现以下功能: - **缓存数据**:通过`memcache_connect()`函数连接到Memcache服务器,...
Memcache 是一种广泛使用的分布式内存缓存系统,用于在 Web 应用程序中提高数据读取速度,通过存储经常访问的数据到内存中,避免了频繁的数据库查询,从而提升了整体性能。 描述中的“实测可以使用”意味着这个 ...
Memcache是一种广泛使用的分布式内存对象缓存系统,它可以在服务器集群间通过网络共享小块内存,从而提升应用程序的性能,减少数据库负载。在PHP中,我们通常使用php_memcache.dll扩展来与Memcache服务器进行交互。...
本篇文章将深入探讨PHP中的缓存技术,特别是关于`memcache`函数的使用。 `Memcache`是一种分布式内存对象缓存系统,它能够存储数据到内存中,从而加快数据的读取速度,减轻数据库的压力。在PHP中,`memcache`扩展...
2. **php_memcache.dll**: 这是PHP与Memcache交互的扩展模块,使得PHP程序可以利用Memcache服务进行数据缓存。在PHP环境中,将`php_memcache.dll`添加到php.ini的扩展目录,并在配置文件中启用该扩展,即可让PHP支持...