知识梳理
:目前为止,讲述了如何把数据库的压力减少到最低,当用户首先访问的是nginx,nginx反向代理去访问我们的系统,系统访问数据,此时的数据如果全部放在数据库,如果有几万人同时访问该数据的时候,数据库肯定承受不住压力,因此我们采用把所有热点数据寻访在redis,让我们的redis去替我们接收热点数据的高访问并发,这是就变成了先访问redis,如果redis有系统要的数据,就直接返回,如果没有,此时再去访问数据库,那么现在对于数据库而言,压力就适当小点了,然而,热点数据存入redis中,一些冷门的数据放在数据库的时候,当代表数据量过于大的时候,此时也会造成数据库压力过大的问题,专业术语叫做缓存穿透(也就是说专门访问redis没有缓存的数据),这个时候我们对于那些单表单库数据量过大的情况就出现了分库分表,把一个数据库五张表变成五个数据库五张表甚至十张表,也就是分库分表,访问流程看上图。如果是电商项目的时候,我们可以也采用网络静态化。
知识引导:
当我们上述系统做的越来越大后,写在一个项目上几十个G,此时不管是项目运行还是维护时就非常的棘手,此时怎么办,就把项目拆开就行,把一个整体的系统拆成若干块,把每一个功能做成一个单独的模块,此时就把五个