RedisUtil.java
package com.lcg.redisdemo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import redis.clients.jedis.Jedis;
public class RedisUtil {
private static Jedis jedis;
// private static String redisIP=”192.168.10.122”;
private static String redisIP="localhost";
static Logger log=LoggerFactory.getLogger(RedisUtil.class);
private RedisUtil(){ }
private static Jedis getRedis(){
if(jedis==null){
jedis=new Jedis(redisIP);
}
return jedis;
}
/**
* 从redis取值
* @param key
* @return
*/
public static String getData(String key){
String res="";
try {
res= getRedis()==null? null: getRedis().get(key);
} catch (Exception e) {
log.error("从redis读取\[{}\]时失败,错误原因:{}",key,e.getMessage());
}
if(log.isDebugEnabled()) log.info("从redis读取\[{}\],结果为{}",key,res);
return res;
}
public static String getData(String key, int index){
String res="";
try {
if(getRedis()!=null){
getRedis().select(index);
res= getRedis().get(key);
}else{
res=null;
}
} catch (Exception e) {
log.error("从redis读取\[{}\]时失败,错误原因:{}",key,e.getMessage());
}
if(log.isDebugEnabled()) log.info("从redis读取\[{}\],结果为{}",key,res);
return res;
}
/**
* 将数据存入redis
* @param key
* @param data
* @return OK - save success
*/
public static String setData(String key, String data){
String res="";
try {
res= getRedis()==null? null: getRedis().set(key, data);
} catch (Exception e) {
log.error("向redis写入\[{}\]值为{}时失败,错误原因:{}",key,data,e.getMessage());
}
if(log.isDebugEnabled()) log.info("向redis写入\[{}\]值为{} {}",key,data,res);
return res;
}
/**
* 获取key的生存时间
* @param key
* @return
*/
public static Long getTtl(String key){
Long res=0L;
try {
res= getRedis()==null? null: getRedis().ttl(key);
} catch (Exception e) {
log.error("从redis读取\[{}\]剩余时间时失败,错误原因:{}",key,e.getMessage());
}
if(log.isDebugEnabled()) log.info("从redis读取\[{}\]剩余时间,结果为{}",key,res);
return res;
}
/**
* 设置key的失效时间
* @param key
* @param sec
* @return
*/
public static Long setExpire(String key, int sec){
Long res=0L;
try {
res= getRedis()==null? null: getRedis().expire(key, sec);
} catch (Exception e) {
log.error("从redis设置\[{}\]失效时间时失败,错误原因:{}",key,e.getMessage());
}
if(log.isDebugEnabled()) log.info("从redis设置\[{}\]失效时间,结果为{}",key,res);
return res;
}
/**
* 移除key
* @param key
* @return
*/
public static Long delete(String key){
Long res=0L;
try {
res= getRedis()==null? null: getRedis().del(key);
} catch (Exception e) {
log.error("从redis删除\[{}\]失败,错误原因:{}",key,e.getMessage());
}
if(log.isDebugEnabled()) log.info("从redis删除\[{}\],结果为{}",key,res);
return res;
}
/**
* 移动key到索引为index的db
* @param key
* @param index
* @return
*/
public static Long move(String key, int index){
Long res=0L;
try {
res= getRedis()==null? null: getRedis().move(key, index);
} catch (Exception e) {
log.error("从redis移动\[{}\]失败,错误原因:{}",key,e.getMessage());
}
if(log.isDebugEnabled()) log.info("从redis移动\[{}\],结果为{}",key,res);
return res;
}
}
pom.xml
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
logback.xml
<?xml version=”1.0” encoding=”UTF-8”?>