Java Redis 连接池 Jedis 工具类,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。
扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群里探讨技术。
推荐文章:Java 面试知识点解析;Mysql优化技巧(数据库设计、命名规范、索引优化
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;}}
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给图片添加水印
【原创】架构师必备,带你弄清混乱的JAVA日志体系!
JAVA日志的前世今生
Java数据结构和算法(十四)——堆
Java实现单链表的快速排序和归并排序
java面试常考题
聊聊Java 8 Lambda 表达式
Java序列化机制原理
Java入门篇(五)——字符串/String类
【JVM系列】一步步解析java执行内幕
Java Redis 连接池 Jedis 工具类,java基础面试笔试题相关推荐
- 分享18道Java基础面试笔试题
转载自 分享18道Java基础面试笔试题(面试实拍) 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求? 2.请简述http协议中get请求和post请求的区别. 3.请简 ...
- java多线程系列:ThreadPoolExecutor源码分析,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- Druid 连接池 JDBCUtils 工具类的使用
Druid工具介绍 它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. 支持所有JDBC兼容的数据库,包括Oracle.MySQL. ...
- JDBC连接池与工具类
1.连接池概述 用池来管理Connection,这样可以重复使用Connection,有了池,所以我们就不用自己来创建Connection, 而是通过池来获取Connection对象,当使用完Conn ...
- DataSourceUtils(使用C3P0连接池的工具类)
一.导入jar包(c3p0-0.9.1.2.jar) 2.添加配置文件(放在src下) 配置文件的名称:c3p0.properties 或者 c3p0-config.xml 放在src之下 c3p0. ...
- 连接池-DBCPUtils工具类(dbcp)
一.合建properties文件 在src目录下创建一个名为"dbcpconfig.properties"的文件,里面的内容为: #连接设置 driverClassName=com ...
- 连接池-C3P0Utils工具类(c3p0)
一.创建文件 在src目录下创建一个名为"c3p0-config.xml"的文件,里面的内容为: <?xml version="1.0" encoding ...
- Java集合框架之四大接口、常用实现类,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- Java 基础面试题,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
最新文章
- 【一步步学小程序】1.创建项目以及TabBar
- flink报错:Error: Static methods in interface require -target:jvm-1.8 已解决
- 新建android项目导包,Cordova开发App入门(一)创建android项目
- codeforces1486 F. Pairs of Paths(倍增+树上数数)
- C++函数后置返回类型
- STM32网络之SMI接口
- 关于XML序列化与CultureInfo
- concurrentbag 删除_你知道吗?这样删除iPhone中的APP腾出的空间会更大
- 自己在inode客户端的大量问题(不断更新中)(2012-02-23 21:24 )
- 解决更新Win11后没有ie浏览器问题
- 微服务架构师的道、法、术
- 基于3DGIS的智慧“云”综合产业园区建设
- 怎样在图片上编辑文字?这几种方法可以进行简单的编辑
- java微信下载word文件怎么打开方式_微信打不开word文档的解决方法 如何打开word文档...
- centos系统 -官网下载mysql
- 太原今年实施一批大数据重大项目
- (6.6)【PC中数据隐藏】Linux中隐写:TrueCrypt创建隐藏卷、使用方法
- 【2022感恩节活动营销理念】跨境电商卖家必知 !
- 华为p10 内存测试软件,华为p10闪存门怎么回事 华为p10/P10Plus闪存怎么测试
- HyperAI超神经已加入群聊,思否 AIGC Hackathon 扩列