JedisConnectionFactory如何获取Redis

Spring对Redis的支持是通过Spring Data Redis实现的,JedisConnectionFactory为我们提供了Redis的一种Java客户端Jedis 。本文主要为大家介绍使用工厂类获取Jedis的两种方式,以及使用过程中存在的问题,希望能为大家提供一些思路 。

JedisConnectionFactory如何获取Redis


工具/材料IntelliJ IDEA
操作方法01、首先我们需要编辑Spring的配置文件application.properties,添加Redis的相关配置,这些配置在代码中需要注入 , 用来生成JedisConnectionFactory的Bean 。
02、接下来我们写一个配置类,该配置类上需要添加@Configuration注解 , 我们在这个类中通过@Value注解注入application.properties配置文件中的部分需要的属性,其中{}用于接收属性值 , 在属性名冒号后面的值是默认值,若读取不到该属性则使用默认值 。我们在该类中创建JedisConnectionFactory的Bean , 在这个Bean中设置读取到的属性值 。
03、接下来我们创建一个RedisServer的类,主要用于获取Redis以及实现部分Redis操作的方法 。在该类中我们可以使用@Autowired注解注入JedisConnectionFactory的Bean 。下图中获取Redis客户端Jedis的方法是我们推荐的方法,使用该方法我们既获取到了Jedis实例又使用的连接池 , 将Jedis实例交由连接池管理,不用太担心并发操作导致的Redis不可用的情况 。最后再附上Jedis操作存储和获取数据的方法 。
04、另外 , 我们还有再介绍一种并不推荐的写法,如下图所示 。这种方法每次都创建一个新的Redis连接并且没有关闭连接,在大量并发操作时会带来性能上的开销,由于对连接数没有限制 , 可能会耗尽Redis的连接,导致Redis连接报错 。
05、配置完成后我们来测试一下Jedis是否能正常使用,创建一个RedisController类,在该类中注入JedisServer , 使用JedisServer提供的存储和读取方法,然后启动服务 。
06、服务启动后我们在postman中进行测试,首先调用setRedis请求将数据存入Redis中,然后再调用getRedis请求获取数据,如下图所示 。
07、JedisConnectionFactory在Spring Data Redis 2.0后就不再推荐上述这种配置方式了 , 当我们的spring-boot-starter-parent版本设置为2.x时,我们可以看到代码中的设置已经被废弃了 。
08、Spring Data Redis 2.0推荐使用Standalone、Sentinel、RedisCluster这三种模式的环境配置类,以便于更加灵活的适配更多的业务场景,我们一般自己测试Redis通常使用的都是单机版的,那么以单机版为例,JedisConnectionFactory的配置应写为如下的方式 。
特别提示【JedisConnectionFactory如何获取Redis】本文只是介绍了一种Redis客户端的使用方式,还是推荐大家使用spring-boot集成Redis做开发,因为spring-boot开箱即用的特性可以大大减少开发工作量 。

    推荐阅读