我们在通过spring-data-redis(spring boot应用程序)在localhost中连接到Redis时遇到问题。
Data collected through profiler
问题1:大部分时间应用程序都花在getConnection(),releaseConnection()和套接字IO上。
示例代码: -
public void addValuesInSet(){
long startTime = System.currentTimeMillis();
for(int i = 1; i < 2000 ; i++) {
final String tempKey = i + "";
for (int j = 0; j < 100; j++) {
redisTemplate.boundHashOps(tempKey).put( j +"" , j + "");
}
}
long endTime = System.currentTimeMillis();
System.out.println("total time : " + (endTime - startTime));
}
问题2:即使池中有空闲连接,应用程序也会尝试创建更多集合。
spring.redis.pool.max-idle=100
spring.redis.pool.max-active=100
spring.redis.pool.max-wait=-1
spring.redis.pool.min-idle=50
有没有办法改善这个?