缓存机制:缓存是存在于应用程序和物理数据源之间,目的是为了减少应用程序访问物理数据源的频率,从而提高程序的性能,缓存里的数据是物理数据源的复制,在一定时间内或者某个特定时间被触发,缓存数据会同步物理数据源的数据;
当程序中引入后引发的新的问题和挑战:
1.缓存数据和物理数据源数据的数据一致性和实时性,如果物理数据源的数据更新了,而缓存数据并没有更新,那么用户督导的数据可能是错误的;
2.缓存数据的生命周期的管理问题,数据不可能一直存在缓存中,要有淘汰策略去淘汰数据从而释放缓存,这个需要代码和具体的业务相结合;(28定律的2一直在变化)
3.缓存服务器的单点故障问题,如果缓存服务器宕机,可能会带来缓存雪崩现象;
缓存雪崩:本来大量请求应该是涌入缓存服务器中,但由于缓存服务器的宕机,大量的请求直接涌入数据库中,严重的会导致服务器失去相应能力,甚至服务器宕机;
4.缓存服务器的主从构架搭建的时候主从数据复制问题,节点的状态检测机制;检测节点状态的变化;选举问题,如果从剩余的slave中选出master
5.如果用缓存制作数据库,因为是在内存中,读写都很快,但是数据的持久化问题
引入NoSQL(not only sql)数据库最为缓存服务器
常用的缓存服务器 memcache和redis的使用场景:
如果有持久化需求或者对数据结构和处理有高级要求的应用,就使用redis;
如果只是简单的key-value对数据的储存就选择memcache
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。