Java常见应用的性能优化
Contents
总诀式
减少网络连接次数
减小网络传输数据
添加缓存
分布式
Redis 式
在同一线程的操作里,尽可能合并redis的操作(
pipeline
)(减少网络连接次数)对象尽可能用
hash
保存,然后按需获取hashKey
的值(减小网络传输数据)用合适的数据类型,保存相应的数据
Java 式
添加
redis
缓存(不过,要防止缓存穿透的问题)在
for
循环里使用redis
判断时,可以在Java里再次添加二级缓存(Java Memory
),而不是每次直接再连接redis(减少网络连接次数)连接要设置 (connectionTimeout,或其他相关的timeout的问题)
一下子加载的数据太多,可以先加载第一页的数据,其他页的数据,可以开启一个线程,去完成。(先满足用户第一页的数据请求先,后面的数据,再异步去处理)
线程池 + 异步处理
DB 式
优化SQL
只选择需要的列(减小网络传输数据)
大量数据,可以分批处理