Redis的Java客户端:Jedis入门

Jedis的优点在于方法名称和Redis命令基本一致,不过存在线程安全问题,在多线程操作时需要引入线程池。

一、引入依赖

<!--jedis-->

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>3.7.0</version>

</dependency>

<!--单元测试-->

<dependency>

<groupId>org.junit.jupiter</groupId>

<artifactId>junit-jupiter</artifactId>

<version>5.7.0</version>

<scope>test</scope>

</dependency>

二、建立连接

新建一个单元测试类,内容如下:

java 复制代码
private Jedis jedis;

    @BeforeEach
    void setUp(){
        //建立连接
        jedis = new Jedis("192.168.21.131",6379);
        //设置密码
        jedis.auth("123321");
        //选择库
        jedis.select(0);
    }

@Beforeeach注解表示每次单元测试前都要预先运行的方法,同理@Aftereach表示每次单元测试后都要附加运行的代码。

三、测试

java 复制代码
    @Test
    void test(){
        //存入数据
        String result = jedis.set("name", "tiger");
        System.out.println(result);
        //获取数据
        String name = jedis.get("name");
        System.out.println(name);
    }

    @Test
    void testHash(){
        //插入哈希数据
        jedis.hset("user:1","name","jack");
        jedis.hset("user:1","age","20");

        //获取
        Map<String, String> map = jedis.hgetAll("user:1");
        System.out.println(map);
    }

四、释放资源

java 复制代码
    @AfterEach
    void tearDown(){
        if(jedis != null){
            jedis.close();
        }
    }
相关推荐
10mAh42 分钟前
【Java】HashMap 的 put 到底做了什么?——冲突、扩容与树化实测
java·开发语言·hash
我命由我123451 小时前
人脸识别 - 勒克斯(光线照射到物体表面上的明亮程度)
android·java·学习·java-ee·人脸识别·学习方法·android runtime
TechLee2 小时前
跨语言加解密总对不上?这个纯 Go 神库让 AES/RSA 与 PHP、Java 100% 互通
java·后端·算法
LINgZone22 小时前
系统架构与分支规范
java·数据库·架构
AC赳赳老秦2 小时前
企业级合规审计体系:用 OpenClaw 落地采集全链路留痕,自动生成合规审计报告
java·python·django·beautifulsoup·php·deepseek·openclaw
吃杠碰小鸡3 小时前
VsCode中开发Java项目
java·vscode
宠友信息3 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app
行百里er3 小时前
加个依赖就生效?一行搞定 Spring Boot Starter 自动装配
java·后端·监控
hweiyu003 小时前
Redis命令:GET
redis