所需要的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); // 添加過期時間
}
}