什么是 Jedis 以及为什么需要它?
\n\nJedis 是一个极简、轻量且非常流行的 Java 库,用于与 Redis(远程字典服务器)协同工作。Redis 是一个高性能的内存数据存储,通常用作数据库、缓存和消息代理。Jedis 提供了一个简单直观的 API,用于从 Java 应用程序与 Redis 服务器进行交互。
\n\n为什么需要 Jedis?如果您的 Java 应用程序使用 Redis 进行缓存、会话管理、任务队列或临时数据存储,Jedis 是连接 Redis 最直接、最高效的方式。它支持所有主要的 Redis 数据结构(字符串、列表、集合、哈希、有序集合),以及 Pub/Sub、事务和 Lua 脚本等功能。
\n\nJedis 以其简单性和无多余依赖而闻名。与更重量级的客户端(例如 Lettuce)不同,Jedis 开箱即用无需配置连接池(尽管支持连接池),这使其成为注重开发简单性和速度的中小型项目的理想选择。
\n\n安装 Jedis
\n\nJedis 通过 Maven Central 分发。要将该库添加到您的项目中,您需要在 pom.xml 文件(对于 Maven)或 build.gradle 文件(对于 Gradle)中添加依赖项。
通过 Maven 安装
\n将以下代码块添加到您的 pom.xml 中:
<dependency>\n <groupId>redis.clients</groupId>\n <artifactId>jedis</artifactId>\n <version>5.1.0</version> <!-- 使用最新的稳定版本 -->\n</dependency>\n\n通过 Gradle 安装
\n将以下行添加到您的 build.gradle 中:
implementation 'redis.clients:jedis:5.1.0'\n\n重要提示: 5.x 版本是 Jedis 的最新主要更新,包含对 Redis 7.x 的支持和新功能。建议始终使用最新的稳定版本,以获取所有修复和新功能。
\n\n快速入门及代码示例
\n\n让我们编写一个简单的程序,连接到 Redis,保存一个值并读取回来。
\n\n假设 Redis 服务器在本地运行,使用默认端口 6379。
\n\nimport redis.clients.jedis.Jedis;\n\npublic class JedisQuickStart {\n public static void main(String[] args) {\n // 1. 创建与 Redis 的连接\n // 默认为 localhost:6379\n try (Jedis jedis = new Jedis("localhost", 6379)) {\n \n // 2. 测试连接 (PING)\n String response = jedis.ping();\n System.out.println("Ping response: " + response); // 应为 "PONG"\n\n // 3. 保存值\n jedis.set("user:1000:name", "Alice");\n jedis.set("user:1000:age", "30");\n\n // 4. 读取值\n String name = jedis.get("user:1000:name");\n String age = jedis.get("user:1000:age");\n\n System.out.println("User name: " + name);\n System.out.println("User age: " + age);\n\n // 5. 检查键是否存在\n boolean exists = jedis.exists("user:1000:name");\n System.out.println("Key exists: " + exists);\n\n // 6. 删除键\n long deleted = jedis.del("user:1000:age");\n System.out.println("Deleted keys: " + deleted);\n }\n }\n}\n\n此示例演示了基本操作:连接、写入、读取、检查存在性和删除。请注意使用了 try-with-resources —— 这确保了连接在使用后会被关闭。
Jedis 的主要方法
\n\nJedis 提供了数百种方法,涵盖了 Redis 的所有功能。以下是 10 个最常用的方