Spring对Redis的支持是通过Spring Data Redis实现的,JedisConnectionFactory为我们提供了Redis的一种Java客户端Jedis 。本文主要为大家介绍使用工厂类获取Jedis的两种方式,以及使用过程中存在的问题,希望能为大家提供一些思路 。
文章插图
工具/材料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请求获取数据,如下图所示 。
文章插图
文章插图
07JedisConnectionFactory在Spring Data Redis 2.0后就不再推荐上述这种配置方式了,当我们的spring-boot-starter-parent版本设置为2.x时,我们可以看到代码中的设置已经被废弃了 。
文章插图
08Spring Data Redis 2.0推荐使用Standalone、Sentinel、RedisCluster这三种模式的环境配置类,以便于更加灵活的适配更多的业务场景,我们一般自己测试Redis通常使用的都是单机版的,那么以单机版为例,JedisConnectionFactory的配置应写为如下的方式 。
文章插图
【JedisConnectionFactory如何获取Redis】
- 如何在SPSS中对个案等级排序
- 如何定义和遍历二维数组java
- 如何评价电影《红海行动》
- 如何利用SQLserver创建表
- matlab如何求矩阵特征值
- sql server如何添加外键
- 如何用java制作判断平年闰年的小程序
- 如何巧妙利用倒车影像完成倒车入库
- 在健身房锻炼如何避免被搭讪?
- 如何利用matlab画柱状图