【CDP-云设计模式】第7章,3.内存中DB缓存模式(Inmemory DB Cache Pattern)
来源:互联网 发布:161和162端口 编辑:程序博客网 时间:2024/05/17 08:50
1.要解决的问题
大部分的数据库工作负载在于读数据。由此,可以通过提升数据库的读取性能来全面提升系统性能。
2.云模式的说明
您可以使用此模式,通过将常用数据缓存在内存数据中来提升数据库的读取性能。这项技术将使用过的数据置于缓存中,那么在下次使用时这些数据可以直接从内存中读取(而不是从硬盘读取)。在数据库操作中,一些耗时查询的结果、复杂计算的结果等等都是典型的缓存数据类型。
3.实施
AWS中的“ElastiCache”是一种数据缓存服务。这项服务提供了在发生故障时自动恢复的功能。
准备数据缓存。可以使用ElastiCache,也可以在EC2实例中使用开源的memcached。
当读取数据时,会先在缓存中查找数据。如果缓存中没有所需数据,会从数据库中读取数据,并将数据保存在缓存中。
4.配置
5.好处
可以使用高速缓存来减少数据库的读取负载,从而提高整个系统的性能。
可以使用ElastiCache简化操作,而且ElastiCache应对故障的能力也很强。
6.注意事项
在缓存查询结果时需要做一些权衡。对相关表的特定查询的读写比例很重要。例如,当引用特别频繁(每分钟多次),而数据更新并不多(每天甚至每小时)时,那么缓存会很有价值。另一方面,需要防止陈旧数据残留在缓存中。参考信息:http://highscalability.com/bunch-great-strategies-using-memcached-and-mysql-better-together
使用缓存可能需要您修改访问数据库的程序。
7.Q&A
Q1:实施中,除了可以使用ElastiCache,还可以使用开源的memcached。这里的memcached是什么?
A1:Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。Memcached由Danga Interactive开发,用于提升LiveJournal.com访问速度的。LJ每秒动态页面访问量几千次,用户700万。Memcached将数据库负载大幅度降低,更好的分配资源,更快速访问。
- 【CDP-云设计模式】第7章,3.内存中DB缓存模式(Inmemory DB Cache Pattern)
- 【CDP-云设计模式】第7章,1.数据库复制模式(DB Replication Pattern)
- 【CDP-云设计模式】第4章,8.缓存代理模式(Cache Proxy Pattern)
- 【CDP-云设计模式】第5章,4.高速缓存分配模式(Cache Distribution Pattern)
- 【CDP-云设计模式】第2章,3.纵向扩展模式(Scale Up Pattern)
- 【CDP-云设计模式】第3章,3.浮动IP模式(Floating IP Pattern)
- 【CDP-云设计模式】第4章,3.NFS共享模式(NFS Sharing Pattern)
- 【CDP-云设计模式】第5章,3.私有分配模式(Private Distribution Pattern)
- 【CDP-云设计模式】第8章,3.工作观察者模式(Job Observer Pattern)
- 【CDP-云设计模式】第7章,2.读副本模式(Read Replica Pattern)
- 【CDP-云设计模式】第7章,4.分片写模式(Sharding Write Pattern)
- 【CDP-云设计模式】第2章,1.快照模式(Snapshot Pattern)
- 【CDP-云设计模式】第2章,2.印章模式(Stamp Pattern)
- 【CDP-云设计模式】第3章,1.多服务器模式(Multi-Server Pattern)
- 【CDP-云设计模式】第3章,2.多数据中心模式(Multi-Datacenter Pattern)
- 【CDP-云设计模式】第4章,1.横向扩展模式(Scale Out Pattern)
- 【CDP-云设计模式】第4章,2.克隆服务器模式(Clone Server Pattern)
- 【CDP-云设计模式】第4章,4.NFS复制模式(NFS Replica Pattern)
- leetcode-java-103. Binary Tree Zigzag Level Order Traversal
- HDU Problem 1203 I NEED A OFFER! 【01背包】
- 使用Java发送HTTP发送POST、GET请求
- 【模板】树的直径
- 前端跨域解决方法之window.name+iframe
- 【CDP-云设计模式】第7章,3.内存中DB缓存模式(Inmemory DB Cache Pattern)
- win10登陆界面如何截屏
- hdoj-1869 六度分离
- 【算法分类】【搜索】【DFS】枚举所有子集
- Photoshop快捷键大全
- 学英语
- smartforms 条形码打印
- 对数组的理解
- JavaScript中的BOM对象