天天看點

Java對于Redis的操作,包括線程池設定,以及鎖

一:引入依賴

<!--redis緩存處理-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
           

二:相關配置

public class JedisConfig {

    private static GenericObjectPoolConfig jedisPoolConfig;
    private static JedisPool jedisPool;

    static {

        jedisPoolConfig = new GenericObjectPoolConfig();
        jedisPoolConfig.setMaxTotal(140);
        jedisPoolConfig.setMinIdle(0);
        jedisPoolConfig.setMaxIdle(40);
        jedisPoolConfig.setNumTestsPerEvictionRun(-1);
        jedisPoolConfig.setMaxWaitMillis(1000 * 60);
        jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379, 60000);
    }

    public static Jedis jedis() {
        Jedis resource = jedisPool.getResource();
        resource.auth(CommonConstant.REDIS6379_AUTH);
        return resource;
    }


    public synchronized static String getValue(String key) {

        Jedis jedis = jedis();
        String value = jedis.get(key);
        jedis.close();
        return value;
    }

    public synchronized static void setValue(String key, int seconds, String value) {

        Jedis jedis = jedis();
        jedis.setex(key, seconds, value);
        jedis.close();
    }
}
           

三:引用

JedisConfig.getValue("test");
JedisConfig.setValue("test");