java封装数据库连接池获取资源

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:46   1764   0
  • package com.itheima.jedis;
    
    import org.junit.jupiter.api.Test;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    public class jedisTest {
     //获得单一的jedis操作数据库
     @Test
     public void test1() {
      //获取一个jedis对象
      Jedis jedis = new Jedis("192.168.1.115", 6379);
      
      //得到数据
      String username = jedis.get("username");
      System.out.println(username);
      
      //存储数据
      jedis.set("addr", "杭州");
      System.out.println(jedis.get("addr"));
     }
     
     @Test
     public void test2() {
      //获取连接池配置的对象
      JedisPoolConfig poolConfig = new JedisPoolConfig();
      poolConfig.setMaxIdle(30);
      poolConfig.setMinIdle(10);
      poolConfig.setMaxTotal(50);
      
      //获取连接池对象
      JedisPool pool = new JedisPool(poolConfig, "192.168.1.115", 6379);
      
      //从连接池获取资源
      Jedis jedis = pool.getResource();
      jedis.set("xxx", "yyyy");
      System.out.println(jedis.get("xxx"));
      
      //关闭资源
      jedis.close();
      //关闭连接池
      pool.close();
     }
    
    }
    
    package com.itheima.jedis;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    public class JedisPoolUtils {
     private static JedisPool pool = null;
     
     static {
      //加载配置文件 
      InputStream in = JedisPoolUtils.class.getClassLoader().getResourceAsStream("redis.properties");
      Properties pro = new Properties();
      try {
       pro.load(in);
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      JedisPoolConfig poolConfig = new JedisPoolConfig();
      poolConfig.setMaxIdle(Integer.parseInt(pro.get("redis.MaxIdle").toString()));
      poolConfig.setMinIdle(Integer.parseInt(pro.get("redis.MinIdle").toString()));
      poolConfig.setMaxTotal(Integer.parseInt(pro.get("redis.MaxTotal").toString()));
      pool = new JedisPool(poolConfig,pro.getProperty("redis.url"), Integer.parseInt(pro.get("redis.port").toString()));
     }
     //获取redis资源的方法
     public static Jedis getRedis() {
      return pool.getResource();
     }
        public static void main(String[] args) {
      Jedis jedis = getRedis();
      System.out.println(jedis.get("xxx"));
     }
    
    }
    
    
    redis.MaxIdle=30
    redis.MinIdle=10
    redis.MaxTotal=100
    redis.url=192.168.1.115
    redis.port=6379
    

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP