memcached 中继主从延迟数据
2015-12-04 10:38
621 查看
注:本节的例子来自百度文库的一位工程师,在此表示感谢.
MySQL
在做 replication
时,主从复制之间必然要经历一个复制过程,即主从延迟的时间.尤其是主从服务器处于异地机房时,这种情况更加明显.
把 facebook
官方的一篇技术文章,其加州的主数据中心到弗吉尼亚州的主从同步延期达到70ms;
考虑如下场景:
1:
用户 U
购买电子书 B, insert into Master (U,B);
2:
用户 U
观看电子书 B, select
购买记录[user=’A’,book=’B’] from Slave.3:
由于主从延迟,第2步中无记录,用户无权观看该书.
这时,可以利用
memached
在 master
与 slave
之间做过渡(图
5.2):
1:
用户 U
购买电子书 B, memcached->add(‘U:B’,true)
2:
主数据库 insert into Master (U,B);
3:
用户 U
观看电子书 B, select
购买记录[user=’U’,book=’B’] from Slave.
如果没查询到,则
memcached->get(‘U:B’),查到则说明已购买但
Slave
延迟.4:
由于主从延迟,第2步中无记录,用户无权观看该书.
MySQL
在做 replication
时,主从复制之间必然要经历一个复制过程,即主从延迟的时间.尤其是主从服务器处于异地机房时,这种情况更加明显.
把 facebook
官方的一篇技术文章,其加州的主数据中心到弗吉尼亚州的主从同步延期达到70ms;
考虑如下场景:
1:
用户 U
购买电子书 B, insert into Master (U,B);
2:
用户 U
观看电子书 B, select
购买记录[user=’A’,book=’B’] from Slave.3:
由于主从延迟,第2步中无记录,用户无权观看该书.
这时,可以利用
memached
在 master
与 slave
之间做过渡(图
5.2):
1:
用户 U
购买电子书 B, memcached->add(‘U:B’,true)
2:
主数据库 insert into Master (U,B);
3:
用户 U
观看电子书 B, select
购买记录[user=’U’,book=’B’] from Slave.
如果没查询到,则
memcached->get(‘U:B’),查到则说明已购买但
Slave
延迟.4:
由于主从延迟,第2步中无记录,用户无权观看该书.
相关文章推荐
- Memcached概念、作用、运行原理、特性、不足简单梳理(1)
- memcache 安装
- Memcached 及 Redis 架构分析和比较
- 缓存技术PK:选择Memcached还是Redis?
- 关于Redis与Memcached的一点澄清(译)
- java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create()
- memcached 增删改查操作
- php使用memcached详解
- XMemcached的使用
- Memcached使用
- Redis应用场景[包括memcached和redis各自适合的应用场景]
- Memcached服务器安装、配置、使用详解
- memcached
- 为什么不能用memcached存储Session
- Redis与Memcached的区别
- 关于redis、memcache、mongoDB 的对比
- memcached telnet command
- ps aux|grep memcached Linux下查看memcachedzhe个进程
- Memcached
- memcache安装配置