java redis代码配置

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


/**
 *
 * 该文件只做redis的配置相关, 操作由JedisComponent来实现
 */
public class JedisPoolInfos {


    private static JedisPool slavePool;


    private static JedisPool masterPool;


    /**
     * Jedis 读IP地址
     */
    private static String slaveHost = null;


    /**
     * Jedis 读端口地址
     */
    private static String slavePort = null;


    /**
     * Jedis 读密码
     */
    private static String slavePassword = null;




    /**
     * Jedis 读最大并发数
     */
    private static String slaveIdle = null;


    /**
     * Jedis 读连接超时时间
     */
    private static String slaveTimeout = null;


    /**
     * Jedis 读最大连接数
     */
    private static String slaveMaxTotal = null;




    /**
     * Jedis 写IP地址
     */
    private static String masterHost = null;


    /**
     * Jedis 写端口地址
     */
    private static String masterPort = null;


    /**
     * Jedis 写密码
     */
    private static String masterPassword = null;




    /**
     * Jedis 写最大并发数
     */
    private static String masterIdle = null;


    /**
     * Jedis 写连接超时时间
     */
    private static String masterTimeout = null;


    /**
     * Jedis 写最大连接数
     */
    private static String masterMaxTotal = null;


    /**
     * 数据库编号
     */
    private static Integer dbNumber = 0;


    /**
     * 建立连接池 真实环境,一般把配置参数缺抽取出来。
     */
    private static void createJedisSlavePool() {


        // 建立连接池配置参数
        JedisPoolConfig config = new JedisPoolConfig();


        // 设置最大连接数
        config.setMaxTotal(slaveMaxTotal == null ? 100 : Integer.parseInt(slaveMaxTotal));


        // 设置最大阻塞时间,记住是毫秒数milliseconds
        config.setMaxWaitMillis(slaveTimeout == null ? 3000 : Integer.parseInt(slaveTimeout));


        // 设置空间连接
        config.setMaxIdle(slaveIdle == null ? 50 : Integer.parseInt(slaveIdle));


        // 创建连接池
        slavePool = new JedisPool(
                config,
                slaveHost == null ? "888.88.888.888" : slaveHost,
                slavePort == null ? 6381 : Integer.parseInt(slavePort),
                slaveTimeout == null ? 3000 : Integer.parseInt(slaveTimeout),
                slavePassword == null ? "password" : slavePassword,
                dbNumber
        );


    }


    /**
     * 在多线程环境同步初始化
     */
    private static synchronized void poolSlaveInit() {
        if (slavePool == null)
            createJedisSlavePool();
    }


    /**
     * 获取一个jedis 对象
     */
    public static Jedis getSlaveJedis() {


        if (slavePool == null)
            poolSlaveInit();
        return slavePool.getResource();
    }


    /**
     * 归还一个连接
     */
    public static void returnSlaveRes(Jedis jedis) {
        slavePool.returnResource(jedis);
    }


    /**
     * 建立连接池 真实环境,一般把配置参数缺抽取出来。
     */
    private static void createJedisMasterPool() {


        // 建立连接池配置参数
        JedisPoolConfig config = new JedisPoolConfig();


        // 设置最大连接数
        config.setMaxTotal(masterMaxTotal == null ? 100 : Integer.parseInt(masterMaxTotal));


        // 设置最大阻塞时间,记住是毫秒数milliseconds
        config.setMaxWaitMillis(masterTimeout == null ? 3000 : Integer.parseInt(masterTimeout));


        // 设置空间连接
        config.setMaxIdle(masterIdle == null ? 50 : Integer.parseInt(masterIdle));


        // 创建连接池
        masterPool = new JedisPool(
                config,
                masterHost == null ? "888.88.888.888" : masterHost,
                masterPort == null ? 6380 : Integer.parseInt(masterPort),
                masterTimeout == null ? 3000 : Integer.parseInt(masterTimeout),
                masterPassword == null ? "password" : masterPassword,
                dbNumber
        );


    }


    /**
     * 在多线程环境同步初始化
     */
    private static synchronized void poolMasterInit() {
        if (masterPool == null)
            createJedisMasterPool();
    }


    /**
     * 获取一个jedis 对象
     */
    public static Jedis getMasterJedis() {


        if (masterPool == null)
            poolMasterInit();
        return masterPool.getResource();
    }


    /**
     * 归还一个连接
     */
    public static void returnMasterRes(Jedis jedis) {
        masterPool.returnResource(jedis);
    }


    public void setSlaveHost(String slaveHost) {
        this.slaveHost = slaveHost;
    }


    public void setSlavePort(String slavePort) {
        this.slavePort = slavePort;
    }


    public void setSlavePassword(String slavePassword) {
        this.slavePassword = slavePassword;
    }


    public void setSlaveIdle(String slaveIdle) {
        this.slaveIdle = slaveIdle;
    }


    public void setSlaveTimeout(String slaveTimeout) {
        this.slaveTimeout = slaveTimeout;
    }


    public void setSlaveMaxTotal(String slaveMaxTotal) {
        this.slaveMaxTotal = slaveMaxTotal;
    }


    public void setMasterHost(String masterHost) {
        this.masterHost = masterHost;
    }


    public void setMasterPort(String masterPort) {
        this.masterPort = masterPort;
    }


    public void setMasterPassword(String masterPassword) {
        this.masterPassword = masterPassword;
    }


    public void setMasterIdle(String masterIdle) {
        this.masterIdle = masterIdle;
    }


    public void setMasterTimeout(String masterTimeout) {
        this.masterTimeout = masterTimeout;
    }


    public void setMasterMaxTotal(String masterMaxTotal) {
        this.masterMaxTotal = masterMaxTotal;
    }


    public Integer getDbNumber() {
        return dbNumber;
    }


    public void setDbNumber(Integer dbNumber) {
        this.dbNumber = dbNumber;
    }


}

你可能感兴趣的:(Java)