@H_301_0@缓存机制:缓存是存在于应用程序和物理数据源之间,目的是为了减少应用程序访问物理数据源的频率,从而提高程序的性能,缓存里的数据是物理数据源的复制,在一定时间内或者某个特定时间被触发,缓存数据会同步物理数据源的数据;
@H_301_0@当程序中引入后引发的新的问题和挑战:
@H_301_0@1.缓存数据和物理数据源数据的数据一致性和实时性,如果物理数据源的数据更新了,而缓存数据并没有更新,那么用户督导的数据可能是错误的;
@H_301_0@2.缓存数据的生命周期的管理问题,数据不可能一直存在缓存中,要有淘汰策略去淘汰数据从而释放缓存,这个需要代码和具体的业务相结合;(28定律的2一直在变化)
@H_301_0@3.缓存服务器的单点故障问题,如果缓存服务器宕机,可能会带来缓存雪崩现象;
@H_301_0@缓存雪崩:本来大量请求应该是涌入缓存服务器中,但由于缓存服务器的宕机,大量的请求直接涌入数据库中,严重的会导致服务器失去相应能力,甚至服务器宕机;
@H_301_0@4.缓存服务器的主从构架搭建的时候主从数据复制问题,节点的状态检测机制;检测节点状态的变化;选举问题,如果从剩余的slave中选出master
@H_301_0@5.如果用缓存制作数据库,因为是在内存中,读写都很快,但是数据的持久化问题
@H_301_0@
@H_301_0@引入Nosql(not only sql)数据库最为缓存服务器
@H_301_0@
@H_301_0@常用的缓存服务器 memcache和redis的使用场景:
@H_301_0@如果有持久化需求或者对数据结构和处理有高级要求的应用,就使用redis;
@H_301_0@如果只是简单的key-value对数据的储存就选择memcache 原文链接:https://www.f2er.com/nosql/203553.html