Java 獲取redis配置文件redis.properties的信息

所需要的jar 包

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

redis.properties文件配置信息

redis.host=127.0.0.1
redis.port=6379
redis.pass=
#maxIdle
redis.maxIdle=10
#minIdle
redis.minIdle=5
#maxTotal
redis.maxTotal=10
#timeout
redis.timeout=5000
redis.testOnBorrow=false
redis.testOnReturn=false
redis.database=0

獲取redis連接的地址,端口等信息工具類

public class JedisPoolUtils {

    public Map<String, Object> getRedisResource() {
        Map<String, Object> map = new HashMap<>();
        try {
            // 創建一個redis的連接池
            Properties prop = new Properties();
            prop.load(JedisPoolUtils.class.getClassLoader().getResourceAsStream("redis.properties"));
            JedisPoolConfig poolConfig = new JedisPoolConfig();
            int maxIdle = new Integer(prop.getProperty("redis.maxIdle"));
            int minIdle = new Integer(prop.getProperty("redis.minIdle"));
            int maxTotal = new Integer(prop.getProperty("redis.maxTotal"));
            poolConfig.setMaxIdle(maxIdle);// 最大閒置個數
            poolConfig.setMinIdle(minIdle);// 最小閒置個數
            poolConfig.setMaxTotal(maxTotal);// 最大連接數
            String host = prop.getProperty("redis.host"); // ip地址
            int port = new Integer(prop.getProperty("redis.port")); // 端口號
            map.put("maxIdle", maxIdle);
            map.put("minIdle", minIdle);
            map.put("maxTotal", maxTotal);
            map.put("host", host);
            map.put("port", port);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return map;
    }
}

 測試方法

import com.alibaba.fastjson.JSON;
import com.mmall.concurrency.utils.JedisPoolUtils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.Map;
import java.util.Random;

/**
 * @version 1.0
 */
public class TestRedis {

    private static final String REDIS_KEY = "redis:key";

    public static void main(String[] args) {
        Map<String, Object> redisResource = new JedisPoolUtils().getRedisResource();
        JedisPool jedisPool = new JedisPool((String) redisResource.get("host"), 6379);
        Jedis jedis = jedisPool.getResource();
        jedis.select(2); // 切換數據庫
        String key = REDIS_KEY + ":" + new Random().nextInt(1000);
        String jsonString = JSON.toJSONString("deductionPO");
        jedis.set(key, jsonString); 
        // NX是不存在時才set, XX是存在時才set, EX是秒,PX是毫秒
        jedis.set(key, jsonString, "NX", "EX", 180); // 添加過期時間
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章