欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

redis 工具类

程序员文章站 2022-07-11 16:35:18
...

redis操作的工具类

import java.util.Map;

import org.apache.log4j.Logger;

import redis.clients.jedis.Jedis;

import com.chanjet.gov.service.Const;


public class RedisUtil {

	public static Logger logger = Logger.getLogger(RedisUtil.class);


    private Jedis jedis;
    private Jedis jedisForIP;

    private RedisHelper() {//每次从池里取新连接
        this.jedis = Const.pool.getResource();
        this.jedis.select(11);
        this.jedisForIP = this.jedis;
    }

    public static RedisHelper getInstance() {
        RedisHelper instance = new RedisHelper();



//        if(!instance.jedis.isConnected()){
//            instance.jedis.connect();
//        }
//
//        //如果读取失败,关闭并重新连接
//        try{
//            String v = instance.jedis.get("test_connect");
//        }catch(Exception e){
//            instance.jedis.close();
//            instance.jedis.connect();
//        }

        return instance;
    }

    public Jedis getClient() {
        return jedis;
    }

    public Jedis getClientForIP() {
        return jedisForIP;
    }

    public void saveCache(String k, String v) {

        try{
            jedis.set(k, v);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("saveCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }

    }

    public void saveKeyCache(String id, String k, String v) {

        try{
            jedis.hset(id, k, v);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("saveKeyCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }

    }

    public void saveAllKeyCache(String id, Map kv) {

        try{
            jedis.hmset(id, kv);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("saveAllKeyCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }

    }

    public void clearKeyCache(String id, String k) {

        try{
            jedis.hdel(id, k);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("clearKeyCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }

    }

    public String getCache(String k) {

        String v = "";
        try{
            v = jedis.get(k);

        }catch (Exception e){
            e.printStackTrace();
            logger.error("getCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }

        return v;
    }

    public String getKeyCache(String id,  String k) {

        String v = "";

        try{
            v = jedis.hget(id, k);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("getKeyCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }

        return v;
    }

    public Map getAllKeyCache(String id) {

        Map v = null;
        try{
            v = jedis.hgetAll(id);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("getAllKeyCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }
        return v;
//        Map v = jedis.hgetAll(id);

//        return v;
    }

    public void clearCache(String id) {

        try{
            jedis.del(id);
        }catch (Exception e){
            e.printStackTrace();
            logger.error("clearCache",e);
            Const.pool.returnBrokenResource(jedis);
        }finally {
            Const.pool.returnResource(jedis);
        }

//        jedis.del(id);
    }

}

 使用

String needLogin = RedisUtil.getInstance().getKeyCache(cid,"needJsonp");
                    String password = RedisUtil.getInstance().getKeyCache(id,"password");