数据库缓存层的优化

Posted meichao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库缓存层的优化相关的知识,希望对你有一定的参考价值。

一、什么是数据库缓存
业务应用对mysql产生的增删改查的操作造成了巨大的I/O开销和查询压力,这无疑对数据库和服务器都是一种巨大的压力,为了解决此类的问题,缓存概念就此产生
二、为什么使用缓存
1、极大地解决数据库服务器的压力
2、提高应用数据的响应速度
缓存需要考虑的内容
1、缓存方式的选择
2、缓存场景的选择
3、缓存数据的实时性(缓存的时间)
4、缓存数据的稳定性
三、使用MySql查询缓存(了解即可)

技术分享图片

技术分享图片

技术分享图片

四、Redis和Memcache的对比
Memcache:

技术分享图片

Redis和Memcache的对比
1、性能相差不大
2、Redis增加了VM特性,突破物理内存的限制,Memcache可以修改最大的可用内存,采用LRU算法
3、Redis依赖客户端来实现分布式读取
4、Memcache本身没有数据沉余机制
5、Redis依赖快照进行持久化,aof增强了可靠性的同时,对性能有所影响;
6、Memcache不支持持久化,通常做缓存,提升性能;
7、Memcache在并发场景下,用cas保证一致性,redis事务支持比较弱,只能保证事务中每个操作的连续执行;
8、Redis支持多种数据类型
9、Redis用于数据量较小的高性能操作和运算上
10、Memcache用于动态系统中减少数据库负载,提升性能,适合做缓存,提高性能;






















以上是关于数据库缓存层的优化的主要内容,如果未能解决你的问题,请参考以下文章

redis 简单整理——缓存设计[三十二]

14抽象工厂获取数据访问层的实例,缓存的使用和反射的使用

分布式部署

Tapdata 肖贝贝:实时数据引擎系列-从 PostgreSQL 实时数据集成看增量数据缓存层的必要性

数据缓存层及相关知识

MySQL试着从5个角度优化MySQL数据库层