redis操作工具类RedisUtil

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


4.0.0

com.lcg
redisdemo
1.0
jar

redisdemo
http://maven.apache.org


<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>




net.sf.json-lib
json-lib
2.4
jdk15




redis.clients
jedis
2.8.1



ch.qos.logback
logback-core
1.1.3


ch.qos.logback
logback-classic
1.1.3


org.slf4j
slf4j-api
1.7.5


junit
junit
3.8.1
test


logback.xml

<?xml version=”1.0” encoding=”UTF-8”?>




%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%line - %msg%n






d:/logs/redisdemo-%d{yyyy-MM-dd}.log


%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%line - %msg%n
UTF-8






d:/logs/redisdemo-DEBUG-%d{yyyy-MM-dd}.log


%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%line - %msg%n
UTF-8












0%