一、问题背景
- 1、热点数据需要做Redis缓存,加快访问速度;
- 2、我们系统做了一个Redis连接池,目的是重复使用连接(阿里云系统连接上限200个左右);
二、问题分析
- 1、Redis连接跨度过长,引起连接堆积,不能及时释放连接,导致连接耗尽;
- 2、Redis中有一个区块数据量较大,导致本地测试没有问题,上线数据量变大直接拖慢连接的释放;
二、解决之道
- 1、去除Redis连接池,Redis本来就是单例,封装的连接池本质也是一个连接,只是交替等待连接而已,可以使用Spring Redistemplate进行改造;
- 2、我觉得最重要的原因就是Redis连接跨度太长,导致并发量大时Redis耗尽,所以应该使用Redis连接时间应该尽可能短,可以拆开最小粒度Redis代码块。