JedisConnectionFactory如何获取Redis
Spring对Redis的支持是通过Spring Data Redis实现的,JedisConnectionFactory为我们提供了Redis的一种Java客户端Jedis。本文主要为大家介绍使用工厂类获取Jedis的两种方式,以及使用过程中存在的问题,希望能为大家提供一些思路。
工具/材料
IntelliJ IDEA
操作方法
首先我们需要编辑Spring的配置文件erties,添加Redis的相关配置,这些配置在代码中需要注入,用来生成JedisConnectionFactory的Bean。
接下来我们写一个配置类,该配置类上需要添加@Configuration注解,我们在这个类中通过@Value注解注入erties配置文件中的部分需要的属性,其中{}用于接收属性值,在属性名冒号后面的值是默认值,若读取不到该属性则使用默认值。我们在该类中创建JedisConnectionFactory的Bean,在这个Bean中设置读取到的属性值。
接下来我们创建一个RedisServer的类,主要用于获取Redis以及实现部分Redis操作的方法。在该类中我们可以使用@Autowired注解注入JedisConnectionFactory的Bean。下图中获取Redis客户端Jedis的方法是我们推荐的方法,使用该方法我们既获取到了Jedis实例又使用的连接池,将Jedis实例交由连接池管理,不用太担心并发操作导致的Redis不可用的情况。最后再附上Jedis操作存储和获取数据的方法。
另外,我们还有再介绍一种并不推荐的写法,如下图所示。这种方法每次都创建一个新的Redis连接并且没有关闭连接,在大量并发操作时会带来性能上的开销,由于对连接数没有限制,可能会耗尽Redis的连接,导致Redis连接报错。
配置完成后我们来测试一下Jedis是否能正常使用,创建一个RedisController类,在该类中注入JedisServer,使用JedisServer提供的存储和读取方法,然后启动服务。
服务启动后我们在postman中进行测试,首先调用setRedis请求将数据存入Redis中,然后再调用getRedis请求获取数据,如下图所示。
JedisConnectionFactory在Spring Data Redis 2.0后就不再推荐上述这种配置方式了,当我们的spring-boot-starter-parent版本设置为2.x时,我们可以看到代码中的设置已经被废弃了。
Spring Data Redis 2.0推荐使用Standalone、Sentinel、RedisCluster这三种模式的环境配置类,以便于更加灵活的适配更多的业务场景,我们一般自己测试Redis通常使用的都是单机版的,那么以单机版为例,JedisConnectionFactory的配置应写为如下的方式。
特别提示
本文只是介绍了一种Redis客户端的使用方式,还是推荐大家使用spring-boot集成Redis做开发,因为spring-boot开箱即用的特性可以大大减少开发工作量。
-
怎样获得熊猫办公vip
今天小编要和大家分享的是怎样获得熊猫办公vip,希望能够帮助到大家。操作方法(01)首先在搜狗浏览器中输入熊猫办公VIP并点击搜索,如下图所示。(02)接着点击熊猫办公VIP,如下图所示。(03)然后选择你要开通的VIP类型,如下图所示。(04)接着用手机扫描屏幕中的二维码,如下图所示...
-
webstorm有什么吸引开发者的特性功能?
webstorm是一个前端开发工具,相对众多的开发工具,webstorm有什么吸引开发者的特性功能?下面一起来看下。操作方法(01)相对于其它开发工具,webstorm是专为前端而生的。对HTML元素,在代码上有属性提示,如图,我们在写一个P元素后,打上一个空格后,就会弹出P所有支持的HTML属性...
-
湘源控规CAD——图则制图知多少
湘源控规CAD是CAD的一个插件,广泛应用于城市规划的总体规划和控制性详细规划中,可以大大提高制图效率。图则制图是一个非常有用的工具,那么图则制图怎么样?看下面的介绍吧操作方法(01)“图则页面”功能:插入图则页面。菜单:“图则”→“图则页面”。(02)“图则参数”功能...
-
怎么才能恢复损坏的视频文件?
操作方法(01)高效安全:软件采用只读的方式来扫描丢失数据的介质,在内存中组织扫描到的文件以及目录结构,不会往源介质中写入任何数据,也就不会对源介质造成任何破坏。这样就避免了因为用户自己的操作不当而造成数据的二次破坏。简洁易用:软件是一个绿色软件。用户无需...
相关文章
- Android sdk content loader 0%的解决方案
- Visual Studio中如何安装使用Newtonsoft Json
- Visual Studio Code中如何搭建并运行NodeJS环境
- Notepad++中TextFX Characters插件如何安装
- 恢复win10误删Microsoft Print to PDF打印机
- SpringBoot整合SpringSeesion实现Redis缓存
- GetThreadContext failed的解决方法
- 电脑提示operating system not found怎么办
- 电脑出现no bootable devices found怎么解决?
- 如何在Windows中安装VMware Workstation Pro 12