package client;

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

public class JedisConnectFactory {
    private static final JedisPool jedisPoll;

    static {
        // 配置连接池
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        // 最大连接数
        poolConfig.setMaxTotal(100);
        // 最大空闲连接（没有人访问，池子中仍存在的连接数）
        poolConfig.setMaxIdle(100);
        // 最小空闲时间（超过一段时间，要是一直没有访问...）
        poolConfig.setMinIdle(10);
        // 等待时长
        poolConfig.setMaxWaitMillis(2000);

        //创建连接池对象
        jedisPoll = new JedisPool(poolConfig,
                TcpClient.redisHost,
                TcpClient.redisPort,
                1000,
                TcpClient.redisPass);
    }

    public static Jedis getJedis() {
        return jedisPoll.getResource();
    }
}