您的位置:首页 > 数据库 > Redis

java redis代码配置

2016-05-23 10:40 489 查看
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;

    }

    publi
4000
c void setDbNumber(Integer dbNumber) {

        this.dbNumber = dbNumber;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis java