Redis 中jedisPool 连接配置

配置参数解析

maxTotal 资源池中最大连接数 默认值8 建议值


maxIdle 资源池允许最大空闲的连接数 默认值8 建议值


minIdle 资源池确保最少空闲的连接数 默认值0 建议值


blockWhenExhausted 当资源池用尽后,调用者是否要等待。只有当为true时,下面的maxWaitMillis才会生效 默认值true 建议使用默认值 
maxWaitMillis 当资源池连接用尽后,调用者的最大等待时间(单位为毫秒) -1:表示永不超时 不建议使用默认值


testOnBorrow 向资源池借用连接时是否做连接有效性检测(ping),无效连接会被移除 默认值 false 业务量很大时候建议设置为false(多一次ping的开销)。


testOnReturn 向资源池归还连接时是否做连接有效性检测(ping),无效连接会被移除 默认值 false 业务量很大时候建议设置为false(多一次ping的开销)。


jmxEnabled 是否开启jmx监控,可用于监控 默认值 true 建议开启,但应用本身也要开启


空闲资源解析

空闲Jedis对象检测,下面四个参数组合来完成,testWhileIdle是该功能的开关。 
testWhileIdle 是否开启空闲资源监测, 默认值 false, 建议值 true


timeBetweenEvictionRunsMillis 空闲资源的检测周期(单位为毫秒), 默认值 -1, 建议设置,周期自行选择,也可以默认也可以使用下面JedisPoolConfig中的配置


minEvictableIdleTimeMillis 资源池中资源最小空闲时间(单位为毫秒),达到此值后空闲资源将被移除, 默认值1000*60 *30 = 30分钟, 可根据自身业务决定,大部分默认值即可,也可以考虑使用下面JeidsPoolConfig中的配置


numTestsPerEvictionRun 做空闲资源检测时,每次的采样数, 默认值3, 可根据自身应用连接数进行微调,如果设置为-1,就是对所有连接做空闲监测


Redis移除策略

Redis使用惰性删除和定期删除的策略

  1. 惰性删除是在访问数据时,首先判断是否过期,如果过期,则删除缓存返回为空;
  2. 定期删除是一定时间内对数据库进行扫描,清除掉过期数据,防止由于数据未被访问而内存没有释放。定期删除会设定最大的扫描时间以及每一个数据库抽样的个数;并且下次扫描会从根据上次扫描到的数据库继续扫描下一个数据库。

关于移除策略常见名词解释 
1. LRU (Least Recently Used): 淘汰最长时间未被使用的 
2. LFU(least frequently used (LFU) page-replacement algorithm)是看频率,淘汰一定时期内被访问次数最少的

你可能感兴趣的:(redis)