JedisPool工具类

Posted jay8576

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JedisPool工具类相关的知识,希望对你有一定的参考价值。

对于redis没有设置密码情况,直接去掉类中的密码即可
package com.practice.utils;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.ResourceBundle;

/**

  • 〈说明〉
  • 〈〉
  • @author lenovo
  • @since 1.0.0
    */
    public class JedisPoolUtils {
    /** 定义最大空闲数 */
    private static int MAX_IDLE;

    /** 定义最小空闲数 */
    private static int MIN_IDLE;

    /** 定义最大连接数 */
    private static int MAX_TOTAL;

    /** 定义远程IP地址 */
    private static String URL;

    /** 定义连接端口号 */
    private static int PORT;

    /** 定义redis客户端登录密码 */
    private static String PASSWORD;

    /** 定义连接超时时间 */
    private static int TIME_OUT;

    /** 创建JedisPool对象,定义为空,等待初始化 */
    private static JedisPool pool = null;

    /**
    • 静态代码块
    • 初始化连接池
      */
      static {
      JedisPoolConfig poolConfig = init();
      //初始化连接池对象
      pool = new JedisPool(poolConfig, URL, PORT, TIME_OUT, PASSWORD);
      }
    /**
    • 静态方法获取Jedis对象
    • 获取前进行非空判断
    • pool如果为空,则返回null
    • @return
      */
      public synchronized static Jedis getJedis() {
      if (pool != null) {
      return pool.getResource();
      }
      return null;
      }
    /**
    • 回收Jedis
    • 回收前进行非空判断
    • final Jedis jedis确保传进来的Jedis对象与returnJedis(Jedis jedis)方法内Jedis对象一致
    • @param jedis
    • @throws Exception
      */
      public static void returnJedis(final Jedis jedis) {
      if (jedis != null) {
      pool.returnResourceObject(jedis);
      }
      }
    /**
    • 静态方法init()用于初始化配置参数
    • 私有方法置于最后
    • @return
      */
      private static JedisPoolConfig init() {
      //读取并加载初始化参数
      ResourceBundle bundle = ResourceBundle.getBundle("redis");
      MAX_IDLE = Integer.valueOf(bundle.getObject("redis.maxIdle").toString());
      MIN_IDLE = Integer.valueOf(bundle.getObject("redis.minIdle").toString());
      MAX_TOTAL = Integer.valueOf(bundle.getObject("redis.maxTotal").toString());
      URL = bundle.getString("redis.url");
      PORT = Integer.valueOf(bundle.getObject("redis.port").toString());
      PASSWORD = bundle.getString("redis.password");
      TIME_OUT = Integer.valueOf(bundle.getObject("redis.timeOut").toString());

      //创建连接池配置对象
      JedisPoolConfig poolConfig = new JedisPoolConfig();
      poolConfig.setMaxIdle(MAX_IDLE);
      poolConfig.setMinIdle(MIN_IDLE);
      poolConfig.setMaxTotal(MAX_TOTAL);
      return poolConfig;
      }
      }





















































以上是关于JedisPool工具类的主要内容,如果未能解决你的问题,请参考以下文章

jedis工具类

Java Redis 连接池 Jedis 工具类

Java中使用Redis

JedisPool配置详解

使用jedisPool管理jedis,使用jedis操作redis

Flutter Utils 全网最齐全的工具类