优化方法
1、Redis缓存
整个接口缓存
如果是controller接口,可以在注解中增加缓存
如果是service层,可以使用自定义缓存,在方法体内的开始和结尾增加缓存
也可以增加mybatis一二级缓存,需要注意缓存的时间
2、Redis缓存优化
value值一般都是把对象或者集合类存储到Redis中,这其中涉及到数据的转码,可以通过Fastjson,更好的方式是使用序列号,推荐pototstuff;
3、Redis缓存key优化
存储多个相同的key,减少热点key
可以使用System获得当前时间,在除100,进行取余的方式对key进行散列;
4、Redis批处理
使用pipLine或者lua方式执行redis命令,减少与redis的网络开销;
5、Redis存值注意
只存必须的字段,即需要什么字段存什么字段,不要存储冗余字段,防止大key的出现;
6、同机房调用,服务件调用最好时同机房,减少网络开销;
7、降级
。。。
8、限流
本机AtomicLong限流
Redis集群限流
本机Guava+Redis限流
9、可能提供性能的点
日志,日志,日志,强调
日志级别调高后,对性能提升很大
动态调整日志级别,或者异步日志存储
优化的过程从一方面来看是空间换时间的过程。