java操作redis之jedis

这篇具有很好参考价值的文章主要介绍了java操作redis之jedis。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们之前对Redis的学习都是在命令行窗口,那么如何使用Java来对Redis进行操作呢?对于Java连接Redis的开发工具有很多,这里先介绍通过Jedis实现对Redis的各种操作。(前提是你的redis已经配置了远程访问)

1.创建一个maven工程,并且添加以下依赖

<dependencies>
     <!-- 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>
</dependencies>

2.创建JedisTest.java测试类

package org.example.test;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;
import org.junit.jupiter.api.BeforeEach;

import java.util.Map;


public class JedisTest {
    private Jedis jedis;

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

    //测试String
    @Test
    void testString(){
        // 添加数据
        String result = jedis.set("name", "minqilianghhahahah");
        System.out.println(result);
        // 获取数据
        String data = jedis.mget(new String[]{"id","name"}).toString();
        System.out.println(data);
    }

    //测试hash
    @Test
    void testHash(){
        // 添加数据
        jedis.hset("user", "name", "张三");
        jedis.hset("user", "age", "23");
        // 获取数据
        String name = jedis.hget("user", "name");
        Map<String, String> user = jedis.hgetAll("user");
        System.out.println(name);
        System.out.println(user);
    }

    //释放资源
    @AfterEach
    void tearDown(){
        if(jedis != null){
            jedis.close();
        }
    }
}

到这里Jedis如何连接redis以及常用操作已经了解了,其实这里的操作方法和原始的方法是一致的,降低了学习成本。但是还有一些不好的地方就是每次使用都要重新连接redis,使用完又要断开连接,那么可以使用连接池来解决这个问题。下面介绍连接池的使用。

3.使用连接池

  1. 创建连接工厂类,如下:

    package org.example;
    
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    public class JedisConnectionFactory {
        private static final JedisPool jedisPool;
        static {
            // 配置链接池信息
            JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
            // 设置最大连接数
            jedisPoolConfig.setMaxTotal(8);
            // 设置最大空闲连接数
            jedisPoolConfig.setMaxIdle(8);
            // 设置最小空闲连接数
            jedisPoolConfig.setMinIdle(0);
            // 设置连接池的最大等待时间
            jedisPoolConfig.setMaxWaitMillis(1000);
            // 创建连接池对象
            jedisPool = new JedisPool(jedisPoolConfig,"192.168.***.***",6379,1000,
                    "******");
        }
    
        public static Jedis getJedis() {
            return jedisPool.getResource();
        }
    }
    
  2. 测试类使用连接池文章来源地址https://www.toymoban.com/news/detail-488695.html

    package org.example.test;
    
    import org.example.JedisConnectionFactory;
    import org.junit.jupiter.api.AfterEach;
    import org.junit.jupiter.api.Test;
    import redis.clients.jedis.Jedis;
    import org.junit.jupiter.api.BeforeEach;
    
    import java.util.Map;
    
    
    public class JedisTest {
        private Jedis jedis;
    
        // 通过连接池获取连接
        @BeforeEach
        void setUp(){
     	   // 建立连接
     	   jedis = JedisConnectionFactory.getJedis();
     	   // 选择数据库
     	   jedis.select(0);
        }
    
        //测试String
        @Test
        void testString(){
     	   // 添加数据
     	   String result = jedis.set("name", "minqilianghhahahah");
     	   System.out.println(result);
     	   // 获取数据
     	   String data = jedis.mget(new String[]{"id","name"}).toString();
     	   System.out.println(data);
        }
    
        //测试hash
        @Test
        void testHash(){
     	   // 添加数据
     	   jedis.hset("user", "name", "张三");
     	   jedis.hset("user", "age", "23");
     	   // 获取数据
     	   String name = jedis.hget("user", "name");
     	   Map<String, String> user = jedis.hgetAll("user");
     	   System.out.println(name);
     	   System.out.println(user);
        }
    
        //释放资源
        @AfterEach
        void tearDown(){
     	   if(jedis != null){
     		   jedis.close();
     	   }
        }
    }
    

到了这里,关于java操作redis之jedis的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Spring Boot微服务集成Jedis操作Redis

    记录 :406 场景 :在Spring Boot微服务集成Jedis操作Redis的缓存和队列。 版本 :JDK 1.8,Spring Boot 2.6.3,redis-6.2.5,jedis-3.7.1。 1.微服务中配置 Redis信息 1.1在application.yml中Jedis配置信息 1.2使用 ConfigurationProperties加载Jedis配置 Spring Boot微服务在启动时,自动注解机制会读取application.yml的

    2023年04月15日
    浏览(61)
  • 【Redis】2、Redis 的 Java 客户端(Jedis 和 SpringDataRedis)

    Jedis 的使用:https://redis.io/docs/clients/java/ 🌼 Jedis 实例是线程不安全的 🌼 多线程环境 下需要基于连接池来使用 🌼 这里使用的连接池技术是 Jedis 提供的 🍀 JedisPool :Redis 连接池 🍀 JedisPoolConfig :Redis 连接池的配置 🍃 SpringData 是 Spring 中数据操作的模块,包含对各种数据库

    2024年02月11日
    浏览(41)
  • Redis的Java客户端-Jedis

    在 Redis官网 中提供了各种语言的客户端,地址: https://redis.io/docs/clients/ 其中Java客户端也包含很多: 标记为 ❤ 的就是推荐使用的java客户端,包括: Jedis和Lettuce:这两个主要是提供了Redis命令对应的API,方便我们操作Redis,而SpringDataRedis是对这两种做了抽象和封装。 Redisso

    2024年02月19日
    浏览(43)
  • Redis-Java客户端-Jedis

    目录 01.导入依赖 02.进行测试连接 03.使用JedisPool 04.修改测试的代码         新建一个mevan工程,在pom文件下导入相应的依赖,相依的依赖可以去官网查找 spring官网:Spring Data Redis         在test目录下,创建一个测试类JedisTest 这里可能回报密码的错误, 可能需要去设置

    2024年02月14日
    浏览(42)
  • ⑩【Redis Java客户端】:Jedis、SpringDataRedis、StringRedisTemplate

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 引入依赖 : 测试Java客户端操作Redis : 测试代码: 测试结果: ⚪—操作String类型—⚪ ⚪—操作hash类型—⚪

    2024年02月05日
    浏览(51)
  • redis教程 二 redis客户端Jedis使用

    在Redis官网中提供了各种语言的客户端,地址:https://redis.io/docs/clients/ 其中Java客户端也包含很多但在开发中用的最多的还是Jedis,接下来就让我们以Jedis开始我们的快速实战。 入门案例详细步骤 案例分析: 创建工程: 创建一个maven管理的java项目 引入依赖: 在pom.xml文件下添

    2024年02月05日
    浏览(51)
  • Redis-redis事务、乐观锁、Jedis、SpringBoot整合Redis

    1、事务 ①开启事务、执行事务 ② 取消事务 ③ 编译性异常(代码有问题! 命令有错!),事务中所有的命令都不会被执行! ④ 运行时异常(I/O),如果事务队列中存在语法行,那么执行命令的时候,其他命令是可以正常执行的,错误命令抛出异常! (区别于直接命令错误

    2024年01月16日
    浏览(43)
  • Redis 的整合 Jedis 使用

    大家好 , 我是苏麟 , 今天带来 Jedis 的使用 .  Jedis的官网地址: GitHub - redis/jedis: Redis Java client 引入依赖 实战  Jedis连接池 Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此我们推荐大家使用Jedis连接池代替Jedis的直连方式 有关池化思想,并不仅仅是这

    2024年02月10日
    浏览(42)
  • Jedis(一)与Redis的关系

    目录 一、Jedis介绍: 1、背景: 2、Jedis连接池介绍: 二、Jedis API: 1、连接池API 2、其他常用API:  三、SpringBoot集成Jedis:  1、Redis集群模式: (1)配置文件:配置redis、jedis属性信息 (2)Jedis连接池配置类,连接Redis: (3)Jedis工具类:这里展示基本CRUD操作 2、Redis单机模

    2024年01月24日
    浏览(35)
  • 【Spring Boot 3】【Redis】集成Jedis

    软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或少的时间、检索不止一篇资料才能得出一个可工作的DEMO,这占用了我大量的时

    2024年01月19日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包