波总:
Jfinal2.2中的Redis插件在使用中有什么注意事项?我在Controller中使用它,直接作为类的私有变量:
public class Api extends Controller {
Private Cache redis = Redis.use();
public void update(){
redis.get("xxx");
...
以后在各方法中直接使用就行。但我把它使用到非Controller中,应该注意什么,如:
public class CdnLoadUpdate implements Job{
Private Cache redis = Redis.use();
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
redis.get("xxx");
....
我按上述方式作,定义一个每分钟的Job,运行的结果是Redis连接数一直增加,最后撑爆花连接池而出错,redis连接数图如下:
请问波总有何建议
你的程序连接撑爆了,注意下面几点:
1:redis 服务端允许的最大连接数是否达到,例如,很多客户端同时连,而这些客户端初始化连接池时会首先创建很多连接到池里面
2:客户端配置的最大连接数是不是过小,造成并发稍多时就耗尽
3:自己的程序中是否自行通过 getJedis() 获取过连接,但是却没有在 finally 块中关闭连接,造成连接资源泄漏