缓存:一些不常变动的数据可使用缓存技术,如业务需求也可对缓存进行移除变更操作。采用空间换时间,提高用户问效率,同时也可减少数据库访问次数。一般缓存设置在1-5分钟即可,不要小瞧这几分钟,一般高峰期就是那么几分钟啦~~
sql:可以对数据库的查询语句进行优化,尽量不使用hibernate这些orm框架自带的做法,这样很耗时,复杂的查询尽量使用原生sql来写,一般还要对你的sql进行执行计划分析
索引:在访问频率极高的字段加入索引,注意索引对null是无效的,加入索引提高了查询速度,但是相对插入消耗的时间会增多,索引也是空间换时间的做法,加入索引越多,你的表就会越庞大,但是相对于现如今空间如白菜的年代,这点不值一提
报表统计:你的系统如果需要做统计那么建议使用定时器,每10分钟进行一次统计,报表统计对于一个系统是必须的,因为数据要么是缓慢增加缓慢减少,如果遇到数据跳水,那么对于排查系统问题很有帮助哦!
公共模块剥离:对于一些系统模块可以抽离出来,不跟业务系统混在一起,比如报表统计,图片服务,短信等,减少业务服务器的压力
负载均衡集群:使用负载分发客户端的访问连接,让每一台服务器合理利用
redis:对于并发比较高的数据可采用redis存储,因为redis的数据存放于内存存取速度非常快
分区:对于数据非常庞大的表可采用数据库分区,可提高查询速度
另外还有一些本人不熟的解决方案,比如当系统数据非常庞大的时候可以分多个数据库,比如系统模块存为一个数据库,业务模块存为另外一个数据库,这样就避免应用全面宕机;又比如分布式,当集群部署都出现访问卡顿的情况,就需要采用分布式了,例一个商城,可以分为用户服务,产品服务,订单服务,后台管理服务,数据分析等,每个服务都可以单独运行,每个服务直接通过内部机制进行通信
领取专属 10元无门槛券
私享最新 技术干货