1.应用类型
cpu型 io型
2.优化
(1)日志打印 (2)缓存开启 (3)数据库字段加索引 (4)静态文件分离
(5)新生代调大,减少ygc的次数 -Xmx1024m -Xms1024m -Xmn512m
(6)数据库多次查询,想办法减少数据库的查询次数,逻辑优化
3.添加缓存
什么情况下适合缓存:1..即时性,一致性要求没那么高的情况下
2.读多写少的情况下。
分布式缓存如何做?做成redis
储存的数据都做成json字符串,因为全语言json字符串都可以通用
内存泄漏问题lettuce有直接内存超标问题, lettuce改成5.2.*的版本
4.缓存问题
导致瞬时数据库压力过大而宕机
缓冲穿透:查询一个不存在的数据,导致数据库压力增大而宕机,
解决办法:缓存空结果,设置短的过期时间
缓存雪崩: 同一时间,缓存大量过期。
办法:设置随机过期时间
缓存击穿:热点字段被大量访问,但该热点突然过期了。
加锁,让一个线程去访问