数据库缓存层的优化
一、什么是数据库缓存 业务应用对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