数据库缓存层的优化

一、什么是数据库缓存
业务应用对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用于动态系统中减少数据库负载,提升性能,适合做缓存,提高性能;

原文地址:https://www.cnblogs.com/meichao/p/9497600.html