Jedis工具类

目录

一、基本使用

1、xml 引入依赖

2、简单测试

二、工具类

1、编写redis属性文件

2、编写工具类

3、使用测试


Jedis是Redis官方推荐的Java连接开发工具。

一、基本使用

1、xml 引入依赖

    <dependencies><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId> <!--redis的java客户端--><version>3.4.0</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.70</version></dependency></dependencies>

2、简单测试

public class RedisTest {@Testpublic void testSet(){//通过指定host、port、password创建Jedis对象Jedis jedis = new Jedis("127.0.0.1",6379);jedis.auth("lly123");//set操作jedis.set("test","valueTest");//get操作String v = jedis.get("test");System.out.println(v);}
}

二、工具类

1、编写redis属性文件

redis.host=127.0.0.1
redis.port=6379
redis.password=lly123
#最大连接数
redis.maxTotal=20
#最大活跃数
redis.maxIdle=10
#最长等待时间
redis.maxWaitMillis=3000

2、编写工具类

package Util;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;import java.io.IOException;
import java.util.Properties;public class RedisUtil {private JedisPool pool = null;//单例模式private static RedisUtil instance = new RedisUtil();//私有构造函数private RedisUtil() {if (pool == null) {//获取redis连接属性文件Properties properties = new Properties();try {properties.load(RedisUtil.class.getClassLoader().getResourceAsStream("redis.properties"));} catch (IOException e) {e.printStackTrace();}String ip = (String) properties.get("redis.host");int port = Integer.parseInt(properties.get("redis.port").toString()) ;String password = (String) properties.get("redis.password");JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();jedisPoolConfig.setMaxTotal(Integer.parseInt(properties.get("redis.maxTotal").toString()));jedisPoolConfig.setMaxIdle(Integer.parseInt(properties.get("redis.maxIdle").toString()));jedisPoolConfig.setMaxWaitMillis(Long.parseLong(properties.get("redis.maxWaitMillis").toString()));if (password != null && !"".equals(password)) {// redis 设置了密码pool = new JedisPool(jedisPoolConfig, ip, port, 10000, password);} else {// redis 未设置密码pool = new JedisPool(jedisPoolConfig, ip, port, 10000);}}}public Jedis getJedis() {return pool.getResource();}public static RedisUtil getInstance() {return instance;}}

3、使用测试


public class RedisTest {private RedisUtil redisUtil = RedisUtil.getInstance();@Testpublic void testPool(){//每次从池中获取jedis,而不是每次都去new一个Jedis jedis = redisUtil.getJedis();//存取测试jedis.set("pool_key","pool_value");String v = jedis.get("pool_key");System.out.println(v);//使用完记得关闭jedis.close();}
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新鲜的美团Java面试41题(三面技术+HR面):Redis+Kafka+分布式

Java一面 hashmap与concurrenthashmap的区别 垃圾回收算法以及垃圾回收器 CMS的回收步骤 G1和CMS的区别 CMS哪个阶段是并发的哪个阶段是串行的&#xff1f; G1内部是如何分区的&#xff08;region&#xff09; HashMap如何解决Hash冲突 my sql 索引类别 什么是覆盖索引…

今年阿里双十一提升广告点击率居然用的是这种算法?!

文 | 阿里巴巴定向广告团队源 | 知乎写在前面的碎碎念这篇文章主要是介绍我们在CTR建模领域最新的工作CAN&#xff0c;CAN已经在双十一前全面在阿里定向广告落地&#xff0c;在线效果提升非常显著。一般文章会以事后的视角来写&#xff0c;这样思考会更完整&#xff0c;会屏蔽掉…

Spring之AOP实现

文章目录前言环境搭建前置业务类编写一、注解实现AOP1.编写注解实现的增强类2.在Spring配置文件中&#xff0c;注册bean&#xff0c;并增加支持注解的配置3.测试二、配置文件实现AOP1.编写自定义增强类2.Spring配置文件中&#xff0c;注册bean&#xff0c;配置增强2.测试总结前…

LeetCode 90. 子集 II(回溯+剪枝)

文章目录1. 题目信息2. 解题2.1 循环2.2 回溯1. 题目信息 给定一个可能包含重复元素的整数数组 nums&#xff0c;返回该数组所有可能的子集&#xff08;幂集&#xff09;。 说明&#xff1a;解集不能包含重复的子集。 示例:输入: [1,2,2] 输出: [[2],[1],[1,2,2],[2,2],[1,2…

BAT研发Java面试36题总结:Spring+Redis+Docker+Dubbo

一面&#xff1a; ArrayList和linkedlist区别。ArrayList是否会越界。 ArrayList和hashset有何区别。hashset存的数是有序的么。 volatile和synchronized区别 多态的原理 数据库引擎Innodb和myisam区别 Redis的数据结构 Redis是基于内存的么 Redis的list zset的底层实现…

中文版GPT-2,可用于写小说、诗歌、新闻等

原文链接&#xff1a;https://www.sohu.com/a/336251713_610300 有人做出了中文版GPT-2&#xff0c;可用于写小说、诗歌、新闻等&#xff1b;15亿参数版GPT-2被两名研究生复现 2019-08-25 12:01 来源:量子位 </div>原标题&#xff1a;有人做出了中文版GPT-2&#xff0…

一份来自清华的数据分析笔记,请查收!

之前发过很多数据分析的文章&#xff0c;收到不少好评&#xff0c;但也有一些困惑&#xff1a;入门数据分析该学哪些知识点&#xff1f;该看哪些书&#xff1f;是从 Python入手还是 R 语言&#xff1f;常用的算法有哪些&#xff1f;练手做项目的数据库去哪里找&#xff1f;好用…

LeetCode 9. 回文数

文章目录1. 题目信息2. 解题1. 题目信息 判断一个整数是否是回文数。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 示例 1:输入: 121 输出: true 示例 2:输入: -121 输出: false 解释: 从左向右读, 为 -121 。 …

Redis系列教程(四):Redis为什么是单线程、及高并发快的3大原因详解

Redis的高并发和快速原因 1.redis是基于内存的&#xff0c;内存的读写速度非常快&#xff1b; 2.redis是单线程的&#xff0c;省去了很多上下文切换线程的时间&#xff1b; 3.redis使用多路复用技术&#xff0c;可以处理并发的连接。非阻塞IO 内部实现采用epoll&#xff0c;采…

Bing与DuckDuckGo搜索结果惊人一致?Google展现强势差异

文 | 乐乐QvQ搜索引擎之间有何不同&#xff1f;随着世界上最大的两家公司Google和Microsoft争夺Web Search空间的愈发激烈&#xff0c;一超多强的搜索格局已经形成。在目前眼花缭乱的搜索市场中&#xff0c;是搜索结果的千篇一律&#xff0c;九九归一&#xff1b;还是搜索结果的…

图解gpt-2

原文链接&#xff1a;https://www.sohu.com/a/336262203_129720 完全图解GPT-2&#xff1a;看完这篇就够了&#xff08;一&#xff09; 2019-08-25 12:47 来源:机器之心Pro </div>原标题&#xff1a;完全图解GPT-2&#xff1a;看完这篇就够了&#xff08;一&#xff0…

java程序员学习路线以及我的学习经验

本文作者为优知学院创始人陈睿&#xff08;mike&#xff09;,作者有10年以上技术&产品经验&#xff0c;曾任百度研发经理、携程定制旅游CTO。 “ 这是一篇完整的java程序员学习线路图&#xff0c;一共分为六个阶段。 我以java为例&#xff0c;展示完整的学习步骤。 最后…

这几个模型不讲“模德”,我劝它们耗子尾汁

文 | Sheryc_王苏NLP模型要以和为贵&#xff0c;要讲“模德”&#xff08;Modal&#xff09;&#xff0c;不要搞窝里斗。——《王苏老师被多模态预训练模型偷袭实录》&#xff08;全文在末尾&#xff0c;必读&#xff09;最近是不是被马保国“不讲武德”“耗子尾汁”的视频和语…

Java多线程系列(六):深入详解Synchronized同步锁的底层实现

谈到多线程就不得不谈到Synchronized&#xff0c;很多同学只会使用&#xff0c;缺不是很明白整个Synchronized的底层实现原理&#xff0c;这也是面试经常被问到的环节,比如&#xff1a; synchronized的底层实现原理 synchronized锁与JVM的实现 synchronized锁升级顺序 sync…

LeetCode 89. 格雷编码

文章目录1. 题目信息2. 解题1. 题目信息 格雷编码是一个二进制数字系统&#xff0c;在该系统中&#xff0c;两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n&#xff0c;打印其格雷编码序列。格雷编码序列必须以 0 开头。 示例 1:输入: 2 输出: [0,…

分布式数据层中间件详解:如何实现分库分表+动态数据源+读写分离

分布式数据层中间件&#xff1a; 1.简介&#xff1a; 分布式数据访问层中间件&#xff0c;旨在为供一个通用数据访问层服务&#xff0c;支持MySQL动态数据源、读写分离、分布式唯一主键生成器、分库分表、动态化配置等功能&#xff0c;并且支持从客户端角度对数据源的各方面&a…