Jedis 入门

article/2025/10/13 11:01:56

Jedis官网快速跳转

Jedis 的 Github 官方网站跳转:redis/jedis

1. Jedis的基本使用

1.1 引入Jedis依赖

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.3</version>
</dependency>

另外,我们引入 junit5 的单元测试依赖:

<dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.9.0</version><scope>test</scope>
</dependency>

1.2 创建Jedis对象,建立连接

在这里我们使用 junit5 进行单元测试:

/*** @BeforeEach:在每个测试方法之前都会执行,这里是初始化 jedis 对象*/
@BeforeEach
void setUp() {// 1. 建立连接jedis = new Jedis("192.168.200.130", 6379);// 2. 设置密码jedis.auth("123456");// 3. 选择库jedis.select(0);
}

1.3 使用jedis,方法名和redis命令一致

@Test
public void testString() {// 存入String数据String result = jedis.set("name", "张三");System.out.println("result:" + result);// 获取数据String name = jedis.get("name");System.out.println("name:" + name);
}@Test
public void testHash() {jedis.hset("user:1", "name", "jack");jedis.hset("user:1", "age", "21");Map<String, String> map = jedis.hgetAll("user:1");map.forEach((k, v) -> {System.out.println("key:" + k + ", value:" + v);});
}

测试结果:

在这里插入图片描述

在这里插入图片描述

1.4 释放资源

/*** @AfterEach:在每个测试方法之后都会执行,这里是销毁 jedis 对象*/
@AfterEach
void tearDown() {if (jedis != null) {jedis.close();}
}

2. Jedis连接池

Jedis本身是线程不安全的,并且频繁的创建和销毁连接有性能消耗,因此建议使用 Jedis 连接池 代替 Jedis 的直连方式。

创建 JedisConnectionFactory 工具类,从该工具类中获取连接:

package org.example.util;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;import java.time.Duration;public class JedisConnectionFactory {private static final JedisPool jedisPool;static {// 配置连接池JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();//连接池最大连接数jedisPoolConfig.setMaxTotal(8);// 最大空闲连接jedisPoolConfig.setMaxIdle(8);// 最小空闲连接(当一段时间后没人访问,就会降低到最小连接)jedisPoolConfig.setMinIdle(0);// 等待连接池中连接时长jedisPoolConfig.setMaxWait(Duration.ofSeconds(10));// 创建连接池对象jedisPool = new JedisPool(jedisPoolConfig,		//jedis连接池配置对象"192.168.200.130",		//redis的ip地址(虚拟机或本机或云服务器)6379,					//端口号1000,					//超时时间"123456");				//密码}/*** 调用该方法返回 jedis 对象* @return*/public static Jedis getJedis() {return jedisPool.getResource();}
}

接下来就不需要自己创建 Jedis 对象并进行连接了,直接调用该工具类获取连接即可:

package org.example;import org.example.util.JedisConnectionFactory;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;import java.util.Map;public class JedisTest {private Jedis jedis;/*** @BeforeEach:在每个测试方法之前都会执行,这里是初始化 jedis 对象*/@BeforeEachvoid setUp() {// 1. 获取连接jedis = JedisConnectionFactory.getJedis();// 2. 选择库jedis.select(0);}/*** 测试String数据类型的使用*/@Testpublic void testString() {// 存入String数据String result = jedis.set("name", "lisi");System.out.println("result:" + result);// 获取数据String name = jedis.get("name");System.out.println("name:" + name);}/*** 测试 Hash 数据类型的使用*/@Testpublic void testHash() {jedis.hset("user:1", "name", "jack");jedis.hset("user:1", "age", "21");Map<String, String> map = jedis.hgetAll("user:1");map.forEach((k, v) -> {System.out.println("key:" + k + ", value:" + v);});}/*** @AfterEach:在每个测试方法之后都会执行,这里是销毁 jedis 对象*/@AfterEachvoid tearDown() {if (jedis != null) {// 将该连接返回到连接池中jedis.close();}}
}

http://chatgpt.dhexx.cn/article/ifreuMBH.shtml

相关文章

Redis Java客户端Jredis

JRedis 是一个高性能的 Java 客户端&#xff0c;用来连接到Redis分布式哈希键-值数据库。提供同步和异步的连接。 项目地址&#xff1a;https://github.com/alphazero/jredis 由于jreds的jar包不在公网的maven仓库中&#xff0c;所以需要下载源码使用如下命令&#xff0c;将j…

4.jedis

1.pom依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version> </dependency>2.客户端连接redis

JDK: JRE

序言 这个跟类加载有关. 其它的没啥好说的,直接说重点吧 重点 我们安装JDK后会有两个目录一个是JDK,一个是JRE.如下图所示: JDK: 这个是我们开发时需要往Eclipse或者Idear中引入的,里面主要包含了编译器,即把Java文件编译成Class文件的相关Jar.以及开发的过程所需要的一些工…

Jedis详解

因为工作的需要&#xff0c;底层同事对Redis进行了部分改造&#xff0c;增加了几个命令&#xff0c;对应着也就需要对Jedis进行部分修改&#xff0c;于是就把Jedis相关的代码读了一遍&#xff0c;发现其设计还是非常简单但又巧妙使用。 通常而言&#xff0c;我们对于Redis集群…

Jedis简介

Jedis用于java语言连接redis服务&#xff0c;并提供对应的操作API 一、准备工作 (1)jar包导入 下载地址&#xff1a;https://mvnrepository.com/artifact/redis.clients/jedis 基于maven <dependency> <groupId>redis.clients</groupId> <artifactId&…

jedis介绍

jedis是redis的java版本的客户端实现。下面演示jedis的相关操作&#xff1a;      首先在eclipse新建动态web工程&#xff1a;            将jedis所需的jar包导入到工程中&#xff1a;            编写Java代码测试连通性&#xff1a; import …

jedis相关详解

一、jedis是什么&#xff1f; Jedis是redis的java版本的客户端实现&#xff0c;使用Jedis提供的Java API对Redis进行操作&#xff0c;是Redis官方推崇的方式&#xff1b;并且&#xff0c;使用Jedis提供的对Redis的支持也最为灵活、全面&#xff1b;不足之处&#xff0c;就是编…

Redis 客户端:Jredis 和 spring-data-redis 整合

因为我使用的是 java &#xff0c;所以我学习的是java 的客户端 &#xff1a;Jredis 。整合结合自己的项目&#xff0c;把 Jredis 的客户端整合一下。 我们整合需要的工具&#xff1a; Redis Serviceredis.clients.jedis 2.9.0 &#xff08;java 客户端链接redis&#xff09;…

Redis使用教程(一)

Redis:单线程、高读写 redis数据库初识 Redis 简介 Redis 的安装配置 Redis 的常见操作 Redis 的数据类型 Redis 的事务控制 Java 操作 Redis 数据库 Redis简介 redis的作用 Redis:REmote DIctionary Server( 远程字典服务器 ) 是完全开源免费的&#xff0c;用 C 语言编写的…

html如何隐藏input,html如何让input隐藏

隐藏方法&#xff1a;1、设置input标签 type属性的值为“hidden”&#xff1b;2、利用input标签的style属性&#xff0c;添加“display:none”样式&#xff1b;3、利用input标签的style属性&#xff0c;添加“visibility:hidden”样式。 本教程操作环境&#xff1a;windows7系统…

使用java实现杨辉三角的输出

案例&#xff1a;杨辉三角 实现代码 结果输出

【Java】 杨辉三角 二维数组打印杨辉三角

Tips 打印三角的操作 : 每行打印前预留空格打印指定数量的星号后换行重复循环打印直至完成所有打印结果 杨辉三角: 三角规律空格最大对称值为 5 大于 5 则会变形三角规律为当前值为上一个值加上前一个值 首尾的数字值相等参考二维数组的规律生成数值 import java.util.Sca…

java输出杨辉三角(等腰三角形版)

网上转了一圈&#xff0c;各种形式都有&#xff0c;给出一种不用那些啥制表符的等腰三角形版本 杨辉三角 杨辉三角形各行的系数满足以下的规律&#xff1a; ①各行第一个数都是1&#xff1b; ②各行最后一个数都是1&#xff1b; ③从第3行起&#xff0c;除上面指出的第一个数…

用Java编写杨辉三角的几种实现方式

一、前言 最近在学习java&#xff0c;遇到了杨辉三角的编程代码题&#xff0c;这是一道经典的面试题&#xff0c;在经过网上搜索和老师的讲解之后&#xff0c;于是想把代码贴出来&#xff0c;分析一下思路。 二、杨辉三角 1.直角杨辉三角 2.等腰杨辉三角 这就是两种杨辉三角…

JAVA杨辉三角的详细解释

近期java面试题中总会出现算法题&#xff0c;最近我看到了很多杨辉三角的面试题&#xff0c;自己当时手写也没分析好思路&#xff0c;在网上听老师一讲于是就写出来了&#xff0c;今天把代码贴出来看下&#xff0c;思路分析下; 首先看下排列的结果&#xff1a; 可以很清楚的看…

Java实现杨辉三角形

一&#xff1a;前言 实现杨辉三角&#xff0c;需要知道什么是杨辉三角。如下图&#xff0c;就是两种杨辉三角。这两种杨辉三角形是目前最常见的&#xff1a; &#xff08;1&#xff09;等边形状的杨辉三角 &#xff08;2&#xff09;直角形状的杨辉三角 二、杨辉三角形的规…

Java代码实现杨辉三角

一、杨辉三角的概念 杨辉三角是二项式系数在三角形中的一种几何排列&#xff0c;南宋数学家杨辉在《详解九章算法》中有记载&#xff0c;欧洲的帕斯卡也发现这一规律&#xff0c;故又称帕斯卡三角形&#xff0c;比杨辉晚几百年发现该规律 二、杨辉三角的特性 他的两条斜边都是…

杨辉三角形Java实现

一、杨辉三角形的特点 &#xff08;1&#xff09;每个数等于它上方两数之和。 &#xff08;2&#xff09;每行数字左右对称&#xff0c;由1开始逐渐变大。 &#xff08;3&#xff09;第n行的数字有n项。 &#xff08;4&#xff09;前六行的杨辉三角形如图&#xff1a; 二、J…

Java解决杨辉三角问题(这里提供了两种方法)

杨辉三角作为一个数学问题&#xff0c;所以我们在做这道题的时候可以用数学思维将其解决。 下面我将我的实现代码和测试结果附上&#xff1a; package practice;/*** 杨辉三角问题*/ public class Yanghuisanjiao {public static void main(String[] args) {print1(25);print2(…

基于Java的杨辉三角

直角杨辉三角 杨辉三角的规律是每行数字的第一列和最后一列的数字都是1&#xff0c;从第三行开始&#xff0c;除去第一列和最后一列都为数字1以外&#xff0c;其余每列的数字都等于它上方两个数字之和。例如下面图片中7字形圈起来的&#xff1a;4 3 1、35 15 20。 代码实…