高世军的博客

人生的意志和劳动将创造奇迹般的奇迹!

使用memcached加速web应用实例


在实际应用中,通常会把数据库查询的结果保存到memcached中,下次访问数据库时直接从memcached中获取,而不再进行数据库操作,这样很大的程度上减轻了数据库的负担。

【示例】:

<span style="font-family:Microsoft YaHei;"><?
       $mc = new Memcache();  //创建memcache对象
       $mc ->connect('127.0.0.1',11211);
      
       $sql = "select * fromuser where id = 1";
       $key = md5($sql);
       //数据库查询的结果是否已经缓存到memcache服务器中。
       if(!($datas = $mc ->get($key))){
              //在memcache中未获取数据,则从数据库中查询记录。
              $conn =mysql_connect('localhost','root','root');
              mysql_select_db('t1');
              $result =mysql_query($sql);
              while($row =mysql_fetch_object($result)){
                     $datas[] =$row;
              }
              //将从数据库中获取的结果集数据保存到memcache中。以供下次使用。
              $mc ->add($key,$datas);
       }
       var_dump($datas);</span>


查看memcached服务器,已经添加成功。

 







【原理】:
首先要通过md5()函数把要查询的sql语句加密成一个唯一的key,是用脑这个key去memcache服务器中查询,如果memcache已经缓存次sql查询的结果,则直接返回给用户。否则从数据库中查询结果并缓存到memcache服务器中。

阅读更多
个人分类: memcached
上一篇个人网盘2T资料整理分享(持续更新中)
下一篇memcached的LRU删除机制前篇
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭