【CDP-云设计模式】第7章,3.内存中DB缓存模式(Inmemory DB Cache Pattern)

    xiaoxiao2025-10-31  11

    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将数据库负载大幅度降低,更好的分配资源,更快速访问。

    转载请注明原文地址: https://ju.6miu.com/read-1303701.html
    最新回复(0)