1.DB缓存,减轻DB服务器压力
一般情况下数据存在数据库中,应用程序直接操作数据库。 当访问量上万,数据库压力增大,可以采取的方案有:
读写分离,分库分表;
当访问量达到10万、百万,需要引入缓存;将已经访问过的内容或数据存储起来,当再次访问时先找缓存,缓存命中返回数据。 不命中再找数据库,并回填缓存。
2.提高系统响应
数据库的数据是存在文件里,也就是硬盘。与内存做交换(swap) 在大量瞬间访问时(高并发)MySQL单机会因为频繁IO而造成无法响应,MySQL的InnoDB是有行锁。
将数据缓存在Redis中,也就是存在了内存中。内存天然支持高并发访问。可以瞬间处理大量请求。qps到达11万/S读请求 8万写/S
3.做Session分离
传统的session是由tomcat自己进行维护和管理。
集群或分布式环境,不同的tomcat管理各自的session。
只能在各个tomcat之间,通过网络和Io进行session的复制,极大的影响了系统的性能。
1、各个Tomcat间复制session,性能损耗
2、不能保证各个Tomcat的Sessi