Java 使用 Redis(Jedis)

Java 使用 Redis(Jedis)

说明

Jedis 中的方法几乎完全沿用 Redis 原生命令,例如:清空当前库的方法为 jedis.flushDB(),与 Redis 指令 flushdb 一致。

步骤 1:添加依赖

implementation 'redis.clients:jedis:7.2.0'

步骤 2:Java 测试代码实现

package com;

import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class JedisTest {

    private static JedisPool jedisPool;

    @BeforeAll
    public static void init() {
        // 创建 jedis 连接池配置对象
        var config = new JedisPoolConfig();
        config.setMaxTotal(10); // 最大连接数
        config.setMaxIdle(5); // 最大空闲连接数
        config.setMinIdle(2); // 最小空闲连接数
        config.setMaxWaitMillis(1000); // 最大等待时间(毫秒)

        // 初始化 jedis 连接池(IP:192.168.10.158,端口:6379)
        jedisPool = new JedisPool(config, "192.168.10.158", 6379);
    }

    /**
     * 测试单连接模式下 1 秒内的存储量
     */
    @Test
    public void jedis() {
        // 创建 jedis 对象,建立连接(IP:192.168.10.158,端口:6379)
        var jedis = new Jedis("192.168.10.158", 6379);

        // 如果 Redis 服务设置了密码,需添加以下代码(无密码则省略)
        // jedis.auth("密码");

        var begin = System.currentTimeMillis();
        var count = 0;

        // 测试 1 秒内的 key-value 存储量
        while (System.currentTimeMillis() - begin < 1000) {
            count++;
            jedis.set("key" + count, "value" + count);
        }

        System.out.println("1s存储量:" + count);

        // 关闭连接
        jedis.close();
    }

    /**
     * 测试连接池模式下的 Redis 操作
     */
    @Test
    public void jedisPool() {
        // 从连接池中获取 jedis 对象
        var jedis = jedisPool.getResource();
        // 存储 key-value
        jedis.set("***:com:username:10", "peppa");
        // 获取并打印 value
        System.out.println(jedis.get("***:com:username:10"));
        // 关闭连接(释放资源,归还到连接池)
        jedis.close();
    }

    /**
     * 测试清空当前数据库
     */
    @Test
    public void delete() {
        var jedis = jedisPool.getResource();
        // 清空当前数据库(慎用)
        jedis.flushDB();
    }
}
posted @ 2026-01-12 16:53  Jing61  阅读(6)  评论(0)    收藏  举报