首页>>新闻中心>>建设知识

成都网站建设

来源: 本站    发布时间: 2018-12-19 21:09    阅读次数:

缓存可用性 缓存是为提高数据读取性能的,缓存数据丢失或者缓存不可用不会影响到应用程序的处理——它可以从数据库直接获取数据。但是随着业务的发展,缓存会承担大部分数据访问的压力,数据库已经习惯了有缓存的日子,所以当缓存服务崩溃时,数据库会因为完全不能承受如此大的压力而宏机,进而导致整个网站不可用这种情况被称作缓存雪崩,发生这种故障,甚至不能简单地重启混存服务器和数据服务器来恢复网站访问。 实践中,有的网站通过缓存热备等手段提高缓存可用性,但某台缓存服务器宏机时,将缓存访问切换到热备服务器上,但是这种设计显然有违缓存的初衷,缓存根本就不应该被当做一个可靠的数据源来使用。 通过分布式缓存服务器集群,将缓数据分布到集群多台服务器上可在一定程度上改善缓存的可用性,当一台缓存服务器宏机的时候,只有部分缓存数据丢失,重新从数据库加载这部分数据不会对数据库产生很大的影响。 缓存预热 缓存中存放的是热点数据,热点数据又是缓存系统利用LRU对不断访问的数据筛选淘汰出来的,这个过程需要花费较长的时间,新启动的缓存系统如果没有任何数据,在重建缓存数据的过程中,系统的性能和数据库负载都不太好,那么最好在缓存系统启动时就把热点数据加载好,这个缓存预加载手段叫作缓存预热。对于一些元数据如城市地名列表、类目信息,可以在启动时加载数据库中全部数据到缓存进行预热。 缓存穿透 如果因为不恰当的业务、或者恶意攻击持续高并发地请求某个不存在的数据,由于缓存没有保存该数据,所有的请求都会落到数据上,会对数据库造成很大的压力,甚至崩溃,一个简单的对策是将不存在的数据缓存起来。 一起设计吧
BACK