我们致力于一个MySQL知识的分享网站

  |   本站Feed      

Memcache和mysql交互流程操作原理

2009-02-07 19:44:03  |   才被阅读:1,676 次  |  
分类: MySQL高级应用  |   发布: OurMySQL  |   来源:必优博客
标签:

    对于大型网站如facebook,ebay等网站,如果没有做为中间缓存层,数据访问不可能吃得消,对于一般网站,只要具备独立的服务器,完全可以通过配置提高网站访问速度和减少数据库压力,这里主要讨论一下和MySQL数据库交互过程的流程关系,了解的中间缓存层作用,从而深入了解机制原理。

和MySQL交互流程图

如上图,传统的查询方法是直接查询数据库,数据库将结果返回给查询语句,而当有中间缓存层时,查询的是缓存数据,下面详细了解各类数据操作原理:

1,查询数据(select),首先通过指定的Key查询(get)中间缓存层数据,如果存在相对应数据,则直接获取出数据结果,查询过程完全不需要查询数据库。如果不存在,则查询MySQL数据库,并以key对应value的形式将查询结果存储在缓存数据中,然后将结果返回给查询语句。

2,更新数据(update),首先更新数据,然后删除相关的数据(delete)。

3,增加数据(add),首先删除相关缓存数据,然后增加数据。

4,删除数据(delete),删除数据,并删除数据。

对MySQL的数据操作,主要涉及到的方法如下:

1,获取:get(key)
2,设置:set(key, value [, expiry])
3,删除:delete(key [, time])

实例:
假设一个贴子,获取贴子ID为2009的值,其与MySQL交互流程如下:

$key = ‘biuuu_thread_’;//key前缀
$cachetime = 100;//缓存有效时间(秒)
$id = 2009;

基本操作过程
1,查询:$result = get($key.$id);如果$result为空,则查询MySQL数据库,然后set($key.$id,$value,0,$cachetime)
2,更新:delete($key.$id);
3,增加:delete($key.$id);
4,删除:delete($key.$id);

通过直观图和实例应该对与MySQL的交互有一个基础的掌握,其实对于应用来说,基本上就已经足够,但如果要涉及到命名空间等相对复杂的情况,的操作方式会有所不同,但不管什么样的操作,还是离不开基础操作命令,由于这是基础篇,主要是讨论和mysql交互操作流程,当原理清楚以后,基本操作就是这么简单。

IT技术博客大学习

↑ 分享IT博客大学习的文章

相关文章

One Response to “Memcache和mysql交互流程操作原理”

  1. 二维码 Says:

    文章不错,值得定下。


Leave a Reply