MC的一些具体的应用的例子的总结
任何东西,都有其适用的场景,在合适的场景下,才能发挥好更大的作用。
对于memcached,使用内存来存取数据,一般情况下,速度比直接从数据库和文件系统读取要快的多。
memcached的最常用的场景就是利用其“读取快”来白虎数据库,防止频率读取数据库,也有的项目中,;利用其“存储快”的特点来实现主从数据库的消息同步
1.缓存数据库的查询结果:
通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

伪代码及效果如下:
<?php
$sql='select goods_id,goods_name from ecs_goods where is_hot=1 limit 5';
//判断memcached中是否缓存热门商品,如果没有,则查询数据库
$hot=array();
if(!($hot=$memcache->get($sql))){
$hot=$mysql->getAll($sql);
echo'<fontcolor="red">查询自数据库</font>';
//从数据库取得数据后,把数据写入memcached
$memcache->add($sql,$hot,,);//并设置有效期300秒
}else{
echo'<fontcolor="red">查询自memcached</font>';
}
?>
2.中继MySQL主从延迟数据:
MySQL在做replication的时候,主从复制之间必然姚经理一个复制过程,即主从延迟的时间。
尤其是主从服务器处于异地机房的时候,这种情况更加的明显。
以我们 的情况为例:公司内部小机房的数据需要同步到北显机房,那数据量特别大的时候,主从的延时能达到1个多小时,那幸好数据的要求并没有那么的实时,但我们可以采用如下的方法,先考虑一个场景:
①: 用户U购买电子书B,insert into Master(U,B);
②: 用户U观看电子书B,select 购买记录[user=’A’,book=’B’] from Slave.
③: 由于主从延迟,第②步中无记录,用户无权观看该书. 这时,可以利用memached在master与slave之间做过渡 ①: 用户U购买电子书B,memcached->add(‘U:B’,true) ②: 主数据库insert into Master(U,B); ③: 用户U观看电子书B,select 购买记录[user=’U’,book=’B’] from Slave.
如果没查询到,则memcached->get(‘U:B’),查到则说明已购买但Slave延迟. ④: 由于主从延迟,第②步中无记录,用户无权观看该书.

MC的一些具体的应用的例子的总结的更多相关文章
- SQL函数说明大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- T-SQL函数总结
T-SQL函数的类别和描述. 函数类别 作用 聚合函数 执行的操作是将多个值合并为一个值.例如COUNT.SUM.MIN 和 MAX. 配置函数 是一种标量函数,可返回有关配置设置的信息. 转换函数 ...
- sqlserver函数大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- SQL server函数大全
函数类别 作用 聚合函数 执行的操作是将多个值合并为一个值.例如 COUNT.SUM.MIN 和MAX. 配置函数 是一种标量函数,可返回有关配置设置的信息. 转换函数 将值从一种数据类型转换为另一种 ...
- SQL SERVER 函数大全[转]
SQL Server 函数大全 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下 ...
- SQL函数说明大全 (转)
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- sql函数(转)
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- SQL函数介绍
http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用 ...
- [转] SQL函数说明大全
from http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806861.html 一旦成功地从表中检索出数据,就需要进一步操纵这些数据, ...
随机推荐
- 生日蛋糕—dfs
Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1 <= i <= M)层蛋糕是半径为Ri ...
- <转>两个蛋蛋的故事
来自为知笔记(Wiz)
- IPC-管道
内容提要: 管道简介 使用无名管道实现一个简单的本地文件服务器 使用标准I/O函数库提供的管道实现 使用popen实现本地文件服务器 有名管道-FIFO 使用FIFO改写本地文件服务器 管道和FIFO ...
- Java-->服务器的响应(Servlet--doGet&doPost)
--> Servelet: 用于接收请求(客户端,浏览器),做出响应的,服务器端的,java类 --> ServletLogin -- Web项目服务器响应的Java实现 package ...
- 数据结构C语言实现系列——线性表(线性表链接存储(单链表))
#include <stdio.h>#include <stdlib.h>#define NN 12#define MM 20typedef int elemType ;/** ...
- postman 添加环境变量 并 读取变量 作为参数 传入,跑整个场景
上篇文章 写了 postman 基本使用 和 检查点. 这篇 记录一下 多个测试用例组成的一个场景下. 如何通过读取变量跑完整个场景. 因为有些场景 的用例是彼此关联的. 所以通过参数来实现. 如 我 ...
- Smarty 分页
1 <div id="pagelist" class="clearfix">2 <a href="/canadian-sai ...
- PyCharm/IntelliJ IDEA Golang开发环境搭建(最方便快捷的GO语言开发环境)
IntelliJ太牛了.为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件.装Go插件还要下载插件项目源码,编译等等,Sublime ...
- Windows 10 error code 0x80072efd
访问windows 10 store出现如下图的错误: 如果你是宽带连接,删掉现在的连接,新建一个同样的宽带连接就OK了. 哎,这个问题导致我半个月没上去Windows Store,我还真以为微软有问 ...
- List remove注意点
public class ListTest { public static void main(String[] args) { // TODO Auto-generated method stub ...