Java Redis 连接池 Jedis 工具类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java Redis 连接池 Jedis 工具类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4335字,纯文字阅读大概需要7分钟。
内容图文
![Java Redis 连接池 Jedis 工具类](/upload/InfoBanner/zyjiaocheng/1295/4d0c378cbc13453297d87d63b4260985.jpg)
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class MyJedisPool { private final static Logger logger = LoggerFactory.getLogger(MyJedisPool.class); private static JedisPool readPool = null; private static JedisPool writePool = null; //静态代码初始化池配置 static { try{ Properties props = new Properties(); InputStream in = MyJedisPool.class.getResourceAsStream("/redis.properties"); props.load(in); //创建jedis池配置实例 JedisPoolConfig config = new JedisPoolConfig(); //设置池配置项值 config.setMaxTotal(Integer.valueOf(props.getProperty("jedis.pool.maxActive"))); config.setMaxIdle(Integer.valueOf(props.getProperty("jedis.pool.maxIdle"))); config.setMaxWaitMillis(Long.valueOf(props.getProperty("jedis.pool.maxWait"))); config.setTestOnBorrow(Boolean.valueOf(props.getProperty("jedis.pool.testOnBorrow"))); config.setTestOnReturn(Boolean.valueOf(props.getProperty("jedis.pool.testOnReturn"))); //根据配置实例化jedis池 readPool = new JedisPool(config, props.getProperty("redisReadURL"), Integer.valueOf(props.getProperty("redisReadPort"))); writePool = new JedisPool(config, props.getProperty("redisWriteURL"), Integer.valueOf(props.getProperty("redisWritePort"))); }catch (IOException e) { logger.info("redis连接池异常",e); } } /**获得jedis对象*/ public static Jedis getReadJedisObject(){ return readPool.getResource(); } /**获得jedis对象*/ public static Jedis getWriteJedisObject(){ return writePool.getResource(); } /**归还jedis对象*/ public static void returnJedisOjbect(Jedis jedis){ if (jedis != null) { jedis.close(); } } }
import redis.clients.jedis.Jedis; import java.util.Set; public class RedisUtils { /** * 获取hash表中所有key * @param name * @return */ public static Set<String> getHashAllKey(String name){ Jedis jedis = null; try { jedis = MyJedisPool.getReadJedisObject(); return jedis.hkeys(name); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } /** * 从redis hash表中获取 * @param hashName * @param key * @return */ public static String getHashKV(String hashName,String key){ Jedis jedis = null; try { jedis = MyJedisPool.getReadJedisObject(); return jedis.hget(hashName, key); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } /** * 删除hash表的键值对 * @param hashName * @param key */ public static Long delHashKV(String hashName,String key){ Jedis jedis = null; try { jedis = MyJedisPool.getWriteJedisObject(); return jedis.hdel(hashName,key); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } /** * 存放hash表键值对 * @param hashName * @param key * @param value */ public static Long setHashKV(String hashName,String key,String value){ Jedis jedis = null; try { jedis = MyJedisPool.getWriteJedisObject(); return jedis.hset(hashName,key,value); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } /** * 删除键值对 * @param k * @return */ public static Long delKV(String k){ Jedis jedis = null; try { jedis = MyJedisPool.getWriteJedisObject(); return jedis.del(k); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } /** * 放键值对 * 永久 * @param k * @param v */ public static String setKV(String k, String v) { Jedis jedis = null; try { jedis = MyJedisPool.getWriteJedisObject(); return jedis.set(k, v); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } /** * 放键值对 * * @param k * @param v */ public static String setKV(String k,int second, String v) { Jedis jedis = null; try { jedis = MyJedisPool.getWriteJedisObject(); return jedis.setex(k,second, v); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } /** * 根据key取value * * @param k * @return */ public static String getKV(String k) { Jedis jedis = null; try { jedis = MyJedisPool.getReadJedisObject(); return jedis.get(k); }catch (Exception e){ e.printStackTrace(); }finally { MyJedisPool.returnJedisOjbect(jedis); } return null; } }
原文:https://www.cnblogs.com/yanqin/p/8342836.html
内容总结
以上是互联网集市为您收集整理的Java Redis 连接池 Jedis 工具类全部内容,希望文章能够帮你解决Java Redis 连接池 Jedis 工具类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。