Redis连接工具类怎么用,简单又实用的快速入门指南分享
- 问答
- 2025-12-24 20:25:23
- 1
你得明白Redis是什么,我们可以把它想象成一个放在内存里的、速度极快的大柜子,这个柜子不像我们平时用的数据库(比如MySQL)那样需要繁琐的步骤才能存东西、取东西,它非常简单,基本上就是“键值对”存储,就像你给储物柜的每个格子贴上一个标签(键),然后把东西(值)放进去,下次凭标签就能立刻拿到东西,因为它操作内存,所以速度飞快,常用来做缓存,减轻后面大数据库的压力,也能存一些会话信息、排行榜之类需要快速读写的数据。
(参考来源:Redis官方介绍的核心概念)
我们要在Java程序里使用这个“大柜子”,就需要一个工具来连接它,这个工具就是Redis连接工具类,我们不会从零开始自己写这个工具类,那样太麻烦了,通常会使用一个现成的“帮手”——Jedis,Jedis是一个非常流行和简单的Java客户端,你可以把它理解为专门为Java程序访问Redis柜子定制的一把“钥匙”。
(参考来源:Jedis在GitHub上的项目描述)
第一步:准备工作——把“钥匙”拿到手
你得先把Jedis这把“钥匙”引入到你的Java项目中,现在最常用的方式是使用Maven这样的项目管理工具,在你的项目pom.xml文件里,找到<dependencies>标签,然后在里面加上下面这几行代码:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.4.0</version> <!-- 版本号可能会有更新,请使用最新稳定版 -->
</dependency>
加完之后,你的IDE(比如IntelliJ IDEA或Eclipse)通常会自动帮你下载这个jar包,如果你没用Maven,也可以手动去网上下载Jedis的jar包,然后添加到项目的构建路径里。

(参考来源:Jedis官方文档的入门指南中的依赖配置部分)
第二步:打造你的工具类——制作一个“万能钥匙”
直接每次用的时候都去创建连接,用完了再关闭,这样很啰嗦,而且容易出错,最好的办法是写一个工具类,把连接Redis的细节都封装起来,让它变成一个简单好用的“万能钥匙”,下面是一个非常简单但实用的工具类例子:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisUtil {
// 声明一个连接池对象,这是关键,连接池可以管理多个连接,避免频繁创建和销毁的开销。
private static JedisPool jedisPool;
// 静态代码块,在类加载的时候就初始化连接池
static {
// 1. 创建一个连接池的配置对象,可以设置一些参数
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(10); // 最大连接数
config.setMaxIdle(5); // 最大空闲连接数
// 2. 创建连接池对象
// 参数依次是:配置对象、Redis服务器的IP地址、端口号、连接超时时间、密码(如果没有密码就传null)
jedisPool = new JedisPool(config, "localhost", 6379, 2000, null);
}
// 提供一个静态方法,用于从连接池中获取一个Redis连接
public static Jedis getJedis() {
return jedisPool.getResource();
}
// 提供一个静态方法,用于关闭连接(实际上是还给连接池)
public static void close(Jedis jedis) {
if (jedis != null) {
jedis.close();
}
}
}
(参考来源:Jedis官方文档中关于使用JedisPool连接池的示例)

第三步:在程序里愉快地使用——用“万能钥匙”开柜存东西、取东西
工具类写好了,现在看看怎么在main方法或者其他地方使用它,整个过程就像这样:
public class TestRedis {
public static void main(String[] args) {
// 声明一个Jedis对象,先不初始化
Jedis jedis = null;
try {
// 1. 从我们的工具类里轻松获取一个连接
jedis = RedisUtil.getJedis();
// 2. 现在可以开始操作Redis了!非常简单。
// 存一个字符串:set [键] [值]
jedis.set("greeting", "Hello, Redis!");
// 取一个字符串:get [键]
String value = jedis.get("greeting");
System.out.println("从Redis取出的值是:" + value); // 输出:Hello, Redis!
// 存一个带过期时间的键值对(比如5秒后自动删除),这在做验证码缓存时非常有用
jedis.setex("tempCode", 5, "888999"); // 5秒后,"tempCode"这个键会自动消失
// 还可以存数字,做自增操作,很适合做计数器或排行榜
jedis.incr("viewCount"); // 第一次执行,viewCount变成1
jedis.incr("viewCount"); // 第二次执行,viewCount变成2
System.out.println("浏览次数:" + jedis.get("viewCount"));
} catch (Exception e) {
e.printStackTrace();
} finally {
// 3. 非常重要的一步!用完了一定要把连接关掉(归还给连接池)
RedisUtil.close(jedis);
}
}
}
(参考来源:对Jedis常见API方法如set, get, setex, incr的使用总结)
几个重要的提醒:
- 连接信息要改:上面的例子中,Redis服务器地址是"localhost",端口是6379,这是Redis的默认配置,如果你的Redis装在其他机器上,或者改了端口、设置了密码,一定要在创建
JedisPool的时候修改成对应的值,比如密码是"mypassword",那么创建连接池的那行就要改成new JedisPool(config, "你的服务器IP", 6379, 2000, "mypassword")。 - 一定要关闭连接:把连接归还给连接池是一个好习惯,否则连接会一直被占用,最终可能导致连接耗尽,程序无法再连接Redis,所以
finally块里的关闭操作必不可少。 - 先启动Redis服务:在运行你的Java程序之前,请确保你的Redis服务器已经启动起来了,如果连不上,程序会报错。
通过以上三步,你就拥有了一个简单又实用的Redis连接工具类,并且知道了如何进行最基本的存储和读取操作,这已经能够解决很多实际应用中的问题了,如果想了解更多高级操作,比如存列表、集合、哈希等,可以去查阅Jedis更详细的API文档。
本文由水靖荷于2025-12-24发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/67754.html
