Redis学习之Jedis

Idea连接

新建一个maven项目

在pom.xml中添加相关依赖

<dependency>
 <groupId>redis.clients</groupId>
 <artifactId>jedis</artifactId>
 <version>2.9.0</version>
</dependency>

新建类并连接数据库进行操作

import redis.clients.jedis.Jedis;

public class HelloRedis {
    public static void main(String[] args){
        //连接Redis服务
        Jedis jedis = new Jedis("localhost",6379);
        System.out.println("Server is starting!" + jedis.ping());
        jedis.set("jname1","HelloJedis!");
        System.out.println(jedis.get("jname1"));
        jedis.close();
    }
}

连接池

 JedisPool初始化

 JedisPool函数 

public JedisPool(GenericObjectPoolConfig poolConfig, String host, int port) {
 this(poolConfig, host, port, 2000, (String)null, 0, (String)null);
}

直接设置

JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 设置最大10个连接
jedisPoolConfig.setMaxTotal(10);
pool = new JedisPool(jedisPoolConfig, "localhost");

封装连接参数

jedis.properties

jedis.host=localhost

jedis.port=6379

jedis.maxTotal=30

jedis.maxIdle=10

加载配置信息

静态代码块初始化资源

static{
 //读取配置文件 获得参数值
 ResourceBundle rb = ResourceBundle.getBundle("jedis");
 host = rb.getString("jedis.host");
 port = Integer.parseInt(rb.getString("jedis.port"));
 maxTotal = Integer.parseInt(rb.getString("jedis.maxTotal"));
 maxIdle = Integer.parseInt(rb.getString("jedis.maxIdle"));
 poolConfig = new JedisPoolConfig();
 poolConfig.setMaxTotal(maxTotal);
 poolConfig.setMaxIdle(maxIdle);
 jedisPool = new JedisPool(poolConfig,host,port);
}

 获取连接

public static Jedis getJedis(){
 Jedis jedis = jedisPool.getResource();
 return jedis;
}

关闭连接

使用Jedis.close()函数

Jedis.close()源码

 @Override
  public void close() {
    if (dataSource != null) {
      // dataSource 即为 JedisPool实例,
      if (client.isBroken()) {
        // 调用 JedisPool#returnBrokenResource方法
        this.dataSource.returnBrokenResource(this);
      } else {
      // 调用 JedisPool#returnResource 方法
        this.dataSource.returnResource(this);
      }
    } else {
      client.close();
    }
  }

完整连接并释放连接池资源的方式

Jedis jedis = null;
try{
    // 从连接池获取一个Jedis实例
    jedis = pool.getResource();
    //设置 redis 字符串数据 SET 10km blog.csdn.net/10km
    jedis.set("jname1", "HelloJedis!");
    // 获取存储的数据并输出
    System.out.println("redis 存储的字符串为: "+ jedis.get("jname1"));           
}finally{
    if(null != jedis)
    jedis.close(); // 释放资源还给连接池
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值