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");
上一篇: 如何解决 hibernate 自动更新实体类的问题
下一篇: MySQL事务隔离级别