`
wangking717
  • 浏览: 262449 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

php使用memcache进行数据库缓存

 
阅读更多
概念
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 不能存放,其它都可以.
 

  • 大小: 28.7 KB
分享到:
评论

相关推荐

    memcache数据库缓存

    **Memcached数据库缓存系统详解** Memcached是一种高性能的分布式内存对象缓存系统,它能够减轻数据库的压力,提高Web应用的响应速度。该系统最初由LiveJournal的Danga Interactive开发,现已被广泛应用在许多大型...

    php数据库缓存Memcache操作类.zip

    整理了一个Memcache数据缓存操作类库文件,希望对各位会有帮助,操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以...

    memcache数据库缓存.pdf

    Memcache的工作流程通常采用后缓存技术,即先从数据库读取数据,然后将数据放入缓存供后续请求使用。然而,当用户写入数据到主库后,若直接从缓存读取,可能会遇到数据不一致的问题。为解决这个问题,可以采用先缓存...

    MemCache和Redis缓存介绍

    MemCache和Redis是两种广泛使用的分布式内存缓存系统,它们能够有效地存储和检索数据,减轻数据库的负担,提升应用的性能。本文将深入探讨MemCache和Redis的基本概念、特点以及应用场景。 **MemCache** 1. **基本...

    Memcache缓存技术,Memcache配置说明及其文件,PHP5.2.6版本内存缓存技术配置

    在实际应用中,我们还可以使用Memcache进行更复杂的操作,如删除缓存数据、检查键是否存在、批量操作等。同时,Memcache支持多服务器集群,通过分片策略将数据分布到多个服务器,进一步提高系统的可扩展性和可靠性。...

    数据库缓存扩展

    标题提到的"数据库缓存扩展",在这个上下文中,特指PHP环境中的Memcache扩展。Memcache是一款广泛使用的分布式内存对象缓存系统,它能够存储数据在内存中,减少对数据库的直接访问,从而提升了整体系统的响应速度。 ...

    memcache分布式缓存的使用

    当应用需要数据时,首先尝试从Memcache中获取,如果存在则直接返回,不存在则从数据库中读取并存入Memcache,这一过程被称为缓存命中和缓存未命中的处理。Memcache采用哈希表结构,确保了高效的键查找,同时支持多...

    MemCache对象缓存应用

    1. **Web应用加速**:对于高并发的Web应用,使用MemCache缓存常用数据,可以显著减少数据库的读取压力。 2. **减少数据库负载**:避免大量重复的数据库查询,提高数据库的使用寿命。 3. **Session共享**:在分布式...

    PHP 5.4 使用的 memcache

    Memcache是一款广泛使用的分布式内存对象缓存系统,它能存储键值对数据,并在内存中快速访问,减少数据库的负载。 **Memcache服务端** Memcache服务端是运行在服务器上的一个进程,它接收来自客户端(如PHP应用)...

    php数据库连接配合memcache_.docx

    标签为“安全”,这可能意味着讨论的话题涉及到如何在使用Memcache进行数据库缓存时,确保数据的安全性和防止潜在的安全风险。 在文档的`Datelink`类中,可以看到以下关键知识点: 1. **单例模式**:`Datelink`类...

    PHP7.x 8.0 memcache dll php_memcache.dll

    memcache是广泛应用于Web开发中的一个内存对象缓存系统,它能够提高网站性能,通过将数据存储在内存中,减少对数据库的访问,从而加快数据读取速度。 PHP的memcache扩展允许开发者在PHP应用程序中与memcached服务器...

    php5.4.4-php_memcache

    4. **分布式缓存的优势**:通过使用Memcache和`php_memcache`,开发者可以将热点数据存储在内存中,减少对数据库的直接访问,大大提高数据读取速度。此外,Memcache支持多服务器集群,可以将数据分散在多个节点上,...

    php5.3.5下可以使用的php_memcache.dll

    标题中的“php5.3.5下可以使用的php_memcache.dll”指的是PHP的一个扩展模块,用于在PHP 5.3.5版本环境下与Memcache缓存系统进行交互。这个dll文件是Windows平台上的动态链接库文件,是PHP与Memcache进行通信的关键...

    php memcache php_apc php_file 缓存插件

    本文将深入探讨标题"php memcache php_apc php_file 缓存插件"所涉及的三个主要缓存机制:文件缓存、Memcache和APC(Alternative PHP Cache),以及它们在PHP中的应用。 1. 文件缓存: 文件缓存是最基础的缓存方式...

    php5.4_memcache.dll 64位

    标题 "php5.4_memcache.dll 64...在实际使用中,开发者需要将`php_memcache.dll`添加到PHP的扩展目录,并在php.ini配置文件中启用该扩展,同时确保`memcached.exe`在系统路径中可找到,以便启动和管理Memcached服务。

    php7 memcache.dll扩展,亲试可以使用

    现在,PHP7已经成功安装了Memcache扩展,可以在代码中使用`memcache`类进行缓存操作。 在实际应用中,使用Memcache扩展可以实现以下功能: - **缓存数据**:通过`memcache_connect()`函数连接到Memcache服务器,...

    php 5.4.15 64位 memcache.dll

    Memcache 是一种广泛使用的分布式内存缓存系统,用于在 Web 应用程序中提高数据读取速度,通过存储经常访问的数据到内存中,避免了频繁的数据库查询,从而提升了整体性能。 描述中的“实测可以使用”意味着这个 ...

    memcache安装php5.2.17的php_memcache.dll

    Memcache是一种广泛使用的分布式内存对象缓存系统,它可以在服务器集群间通过网络共享小块内存,从而提升应用程序的性能,减少数据库负载。在PHP中,我们通常使用php_memcache.dll扩展来与Memcache服务器进行交互。...

    PHP缓存技术:memcache函数详解

    本篇文章将深入探讨PHP中的缓存技术,特别是关于`memcache`函数的使用。 `Memcache`是一种分布式内存对象缓存系统,它能够存储数据到内存中,从而加快数据的读取速度,减轻数据库的压力。在PHP中,`memcache`扩展...

    memcache缓存配置包(dll,memched,配置方法)

    2. **php_memcache.dll**: 这是PHP与Memcache交互的扩展模块,使得PHP程序可以利用Memcache服务进行数据缓存。在PHP环境中,将`php_memcache.dll`添加到php.ini的扩展目录,并在配置文件中启用该扩展,即可让PHP支持...

Global site tag (gtag.js) - Google Analytics