`
dcj3sjt126com
  • 浏览: 1872412 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Memcache和mysql交互流程操作原理

    博客分类:
  • IOS
 
阅读更多

 

http://www.51testing.com/?uid-2243-action-viewspace-itemid-207655(转)

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

Memcache和MySQL 交互流程图

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

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

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

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

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

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

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

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

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

Memcache基本操作过程
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);

Memcache和mysql交互流程操作原理 - 伟 - darwin_zhang 的博客

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

分享到:
评论

相关推荐

    使用Memcache缓存mysql数据库操作的原理和缓存过程浅析

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

    查看、分析memcached使用状态

    通过两篇文章《Memcache 和 mysql 交互流程操作原理》和《让 memcached 和 mysql 更好的工作》,我们可以深入了解如何使用 Memcached 与 MySQL 配合工作。 为了监控和分析 Memcached 的运行状态,我们可以利用其...

    PHP+MYSQL+Memcache网站访问量统计插件

    【PHP+MYSQL+Memcache网站访问量统计插件】是一个集成PHP、MySQL和Memcache技术的网站统计解决方案,主要用于高效地记录和展示网站的访问量。这个插件通过使用Memcache作为缓存系统,有效解决了高并发环境下数据存储...

    64位apache+mysql+php5.5.10+memcache

    标题 "64位apache+mysql+php5.5.10+memcache" 提供了我们正在处理一个针对64位Windows操作系统的软件套装,它包括Apache web服务器、MySQL数据库服务器、PHP 5.5.10脚本语言解释器以及Memcached缓存系统。...

    php apache mysql memcache redis mongodb

    【标题】:“php apache mysql memcache redis mongodb”指的是在服务器端构建一套常见的Web开发环境,包括PHP编程语言、Apache HTTP服务器、MySQL数据库管理系统,以及两种内存缓存技术:Memcached和Redis,还有...

    win nginx php mysql memcache集成环境

    标题中的"win nginx php mysql memcache集成环境"指的是在Windows操作系统上搭建的一个包含Nginx、PHP、MySQL和Memcached的服务器环境。这样的集成环境通常用于高效地运行Web应用程序,尤其是那些基于PHP语言并需要...

    Go操作MySql Memache Mongodb

    在Go中,我们可以使用第三方库如`github.com/go-sql-driver/mysql`来连接和操作MySQL。要连接到MySQL,你需要创建一个包含数据库URL、用户名、密码和其他配置的DSN(数据源名称)。然后,你可以使用`sql.Open()`函数...

    memcache相关下载

    标题“memcache相关下载”指出我们关注的是一个与memcache相关的资源集合,特别是针对WAMP(Windows、Apache、MySQL、PHP)服务器环境的组件和DLL(动态链接库)文件。这表明内容可能涉及安装或升级memcache扩展,...

    memcache jar

    - 与MySQL的Memory引擎相比,Memcache更适合大规模的分布式缓存场景,而MySQL Memory更适合小规模的、需要事务支持的应用。 总的来说,"memcache jar"是Java开发者用于与Memcache服务器交互的关键组件,它简化了...

    memcached_functions_mysql

    **标签解析:** "memcached_functions_mysql" 这个标签进一步强调了主题,说明这个压缩包包含了与Memcached和MySQL交互的相关函数或脚本。 **压缩包内容:** "memcached_functions_mysql-1.1" 可能是一个特定版本的...

    pecl-memcache-php7

    Memcache采用简单的键值对存储方式,支持多语言接口,能够在多种操作系统上运行,并且能够无缝地配合多种数据库系统,如MySQL。 **二、PECL-Memcache扩展的安装与配置** 在Linux环境下安装`PECL-Memcache`扩展,...

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

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

    Wampserver2.4-x64与php_memcache扩展(php5.4.12)

    请注意,实际操作时可能需要根据你的具体环境进行调整,例如,如果你的Memcache服务器不在本地运行,你需要在`connect()`函数中提供正确的服务器地址和端口号。另外,确保Memcache服务本身已经正确安装和运行,否则...

    wampserver 2.4_x64 php_memcache.dll

    2. **64位系统**:64位操作系统可以处理更大内存和更复杂的计算任务,对于大型Web应用程序和数据库服务尤其适用。 3. **PHP**:PHP是一种开源的服务器端脚本语言,主要用于Web开发,能够嵌入到HTML中。 4. **...

    memcache-2.2.3.tgz

    2. **客户端使用**:了解各个语言的客户端库如何连接和操作Memcached,如设置、获取和删除键值对。 3. **性能优化**:探讨如何调整Memcached的内存分配策略、超时设置和并发控制以达到最佳性能。 4. **分布式部署**...

    JAVA+MYSQL+Memcached

    在提供的文件"memcache学习总结(java版-winwods).docx"中,可能详细介绍了如何在Windows环境下使用Java来操作Memcached,包括安装步骤、配置以及基本的增删查改操作。 至于"Memcached_1.2.5.zip",这应该是...

    php_memcache-cvs-20090703-5.3-VC6-x86+使用方法链接地址+php5.3.X

    本文将详细介绍如何在Windows 7环境下,特别是WAMP(Windows Apache MySQL PHP)服务器2.1e上安装和配置`php_memcache-cvs-20090703-5.3-VC6-x86`扩展,以便与PHP 5.3.x版本协同工作。 **Memcached是什么?** ...

    php数据库连接配合memcache_.docx

    `cache_Obj`和`get()`方法是与Memcache交互的,用来检查和获取缓存数据。如果没有找到缓存,`execute()`方法执行SQL查询,并将结果保存在`$result`中。 6. **数据处理**:查询结果通过`num_rows()`方法获取行数,...

    php安装memcache图文教程 附带dll文件

    8. 最后,在PHP代码中,你可以使用`new Memcache()`来实例化对象,通过`connect()`方法连接到本地的Memcached服务,并使用`set()`和`get()`等方法进行数据缓存操作。 通过以上步骤,你已经在PHPnow环境中成功安装和...

Global site tag (gtag.js) - Google Analytics