为什么你一上线平台页面就打不开?

南风 2020年03月02日 65次浏览

一、问题背景

  • 1、热点数据需要做Redis缓存,加快访问速度;
  • 2、我们系统做了一个Redis连接池,目的是重复使用连接(阿里云系统连接上限200个左右);

二、问题分析

  • 1、Redis连接跨度过长,引起连接堆积,不能及时释放连接,导致连接耗尽;
  • 2、Redis中有一个区块数据量较大,导致本地测试没有问题,上线数据量变大直接拖慢连接的释放;

二、解决之道

  • 1、去除Redis连接池,Redis本来就是单例,封装的连接池本质也是一个连接,只是交替等待连接而已,可以使用Spring Redistemplate进行改造;
  • 2、我觉得最重要的原因就是Redis连接跨度太长,导致并发量大时Redis耗尽,所以应该使用Redis连接时间应该尽可能短,可以拆开最小粒度Redis代码块。