Redis数据库连接池入门

1. 什么是数据库连接池?
  • 数据库连接池基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。
  • 更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据
2. Redis中使用连接池
  • Redis是一种基于内存的NoSql数据库,有者很高的性能。它基于C/S模式,如果需要使用必须建立连接。
  • 客户端每次与Redis进行数据交互,底层的网络通信却占用了一次数据请求的大量时间。因为每次数据交互都需要先建立连接,假设一次数据交互总共用时30ms,超高性能的Redis数据库处理数据所花的时间可能不到1ms。
  • 连接池则可以实现在客户端建立多个连接并且不释放,当需要使用连接的时候通过一定的算法获取已经建立的连接,使用完了以后则还给连接池,这就免去了数据库连接所占用的时间。
3. Jedis常规连接Redis
  • Jedis是Redis的java版本的客户端实现,里面封装了对Redis的相关操作。
  • Jedis连接并简单的操作Redis:
Jedis jedis = null;
try { 
    //生成一个Jedis对象,这个对象负责和指定Redis实例进行通信
    jedis = new Jedis("127.0.0.1",6379);
    //然后通过 jedis 对象就可以调用 redis 支持的命令了,比如
    jedis.set("hello","world");
    String value = jedis.get("hello");
} catch (Exception e){ 
    logger.error(e.getMessage(), e);
} finally { 
    if (jedis != null) { 
       //使用完之后关闭连接
       jedis.close(); 
    } 
}
  • 通过JedisPool获取Redis连接
//1.common-pool2 连接池配置
JedisPoolConfig poolConfig = new JedisPoolConfig();
//可以根据需要设置相关属性
poolConfig.setMaxTotal(200);
//2.初始化Jedis连接池
JedisPool jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379);
Jedis jedis = null;
try { 
    //从连接池借用 jedis 对象
    jedis = jedisPool.getResource();
    //执行操作
    jedis.set("hello","world");
    String value = jedis.get("hello");
} catch (Exception e){ 
    logger.error(e.getMessage(), e);
} finally { 
    if (jedis != null) { 
       //使用完后归还连接池,并非关闭与redis的连接
       jedis.close(); 
    } 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值