• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析

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

作者:忙碌的松鼠 字体:[增加 减小] 来源:互联网 时间:2017-05-11

忙碌的松鼠通过本文主要向大家介绍了memcache缓存,memcache缓存技术,java memcache缓存,memcache缓存时间,memcache缓存机制等相关知识,希望本文的分享对您有所帮助

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

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;
</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2018-12-05Oracle 子程序参数模式,IN,OUT,NOCOPY
  • 2018-12-05中文Access2000速成教程--1.6 定义“主键”
  • 2018-12-05char、varchar、nchar、nvarchar、text之间有哪些区别
  • 2018-12-05MySQL数据库远程连接开启方法
  • 2018-12-05物理分页与逻辑分页的实例教程
  • 2018-12-05用mysql语句创建数据表详细教程
  • 2018-12-05如何使用mysql表连接
  • 2018-12-05mysql常见问题解决第1/2页
  • 2018-12-05mysql锁和索引之间的联系
  • 2018-12-05sql 查询慢的原因分析

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • asp+mysql+utf8 网页出现乱码问题的解决方法
    • CentOS7如何使用rpm包安装mysql 5.7.18的详细介绍
    • 谈谈MySQL的存储引擎
    • SQLServer 参数化查询经验分享
    • 深入Mysql字符集设置分析
    • mysql存储引擎(一)_MySQL
    • mysql允许远程访问
    • sqlserver中在指定数据库的所有表的所有列中搜索给定的值
    • 如何增加mysql的最大连接数
    • MySQL数据库优化经验详谈(服务器普通配置)第1/3页

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有