SpringBoot整合SpringSeesion实现Redis缓存
使用Spring Boot开发项目时我们经常需要存储Session,因为Session中会存一些用户信息或者登录信息。传统的web服务是将session存储在内存中的,一旦服务挂了,session也就消失了,这时候我们就需要将session存储起来,而Redis就是用来缓存seesion的一种非关系型数据库,我们可以通过配置或者注解的方式将Spring Boot和Redis整合。而在分布式系统中又会涉及到session共享的问题,多个服务同时部署时session需要共享,Spring Session可以帮助我们实现这一功能。将Spring Session集成到Spring Boot框架中并使用Redis进行缓存是目前非常流行的解决方案,接下来就跟着小编一起学习吧。
工具/材料
IntelliJ IDEA
操作方法
首先我们创建一个Spring Boot 2.x的项目,在erties配置文件中添加Redis的配置,Spring和Redis的整合可以参考小编其他的文章,此处不再详解。我们设置服务端口为8080端口用于启动第一个服务。
接下来我们需要在pom文件中添加spring-boot-starter-data-redis和spring-session-data-redis这两个依赖,spring-boot-starter-data-redis用于整合Spring Boot和Redis,spring-session-data-redis集成了spring-session和spring-data-redis,提供了session与redis的整合方案。
接下来我们创建一个配置类RedisSessionConfig,这个类使用@Configuration注解表明这是一个配置类。在这个类上我们同时添加注解@EnableRedisHttpSession,表示开启Redis的Session管理。如果需要设置失效时间可以使用@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 3600)表示一小时后失效。若同时需要设置Redis的命名空间则使用@EnableRedisHttpSession(maxInactiveIntervalInSeconds=3600, redisNamespace="{space}") ,其中{space}表示从配置文件中读取这个命名空间。
配置完成后我们写一个测试类SessionController,在这个类中我们写两个方法,一个方法用于往session中存数据,一个用于从session中取数据,代码如下图所示,我们存取请求的url。启动类非常简单,一般都是通用的,我们创建一个名为SpringbootApplication的启动类,使用main方法启动。
接下来我们使用Postman分别请求上面两个接口,先请求存数据接口,再请求取数据接口,结果如下图所示,我们可以看到数据已从redis中取出。另外需要注意sessionId的值,这是session共享的关键。
为了验证两个服务是否共享了session,我们修改项目的配置文件,将服务端口改为8090,然后再启动服务。此时我们不必在请求存数据的接口,只需要修改请求端口号再一次请求取数据的接口即可。由下图可以看到两次请求的sessionId值相同,实现了session的共享。
以上我们完成了SpringBoot整合SpringSeesion实现Redis缓存的功能,在此我们还要推荐一个Redis的可视化工具RedisDesktopManager,我们可以配置Redis数据库的连接,然后便可以非常直观地查看到存储到Redis中的session了,如下图所示,session的命名空间是share,正是从配置文件中读取到的。
特别提示
如果Redis服务器是很多项目共用的,非常建议配置命名空间,否则同时打开多个项目的浏览器页面可能会导致session错乱的现象。
-
CAD如何标注倒角
我们在CAD里进行标注时,会对倒角进行标注,下面我们就一起来看看在CAD里如何对倒角进行标注的吧。操作方法(01)在桌面上双击CAD的快捷图标,打开CAD这款软件,进入CAD的操作界面,如图所示:(02)在该界面按下Ctrl+O键打开选择文件对话框,在该对话框打开我们需要标注的图形文件,...
-
怎么在电脑中放入光盘
还是有很多老年人习惯使用光碟,怎么在电脑中放入光碟,小编给你指南。操作方法(01)放入光碟的设备叫做光驱,光驱长这个样子,如图所示:(02)按下图中所示的按钮,光驱架会弹出来。如图所示:(03)光驱架弹出来后,就可以将光碟放入光驱里,然后重新按下光驱弹出的按钮。如图所示:(04)稍等...
-
斐讯(phicomm)无线路由器怎么设置
无线路由器的种类有很多,WiFi对人类生活越来越重要,每种无线路由器的设置不同,小编在这里给大家介绍一下斐讯(phicomm)无线路由器怎么设置。操作方法(01)将插在电脑上的网线拔掉,用额外准备的网线一头连接电脑一头连接路由器数字口,下面的“LAN口”都可以,把刚刚从电脑...
-
捷渡D620行车记录仪更换电池
三年前中奖的捷渡D620,一直放在柜子里,前两天拿出来用,日期、时间设置完后,停车熄火时间后重新发动车子,显示回原来出厂设置的时间(2012年1月1日)。经过查找资料,确认捷渡D620有内置电池,判断是电池失效。某宝买了电池,直接拆机更换。操作方法(01)用吹风筒热风模式拼命吹记...
相关文章
- Spring Boot如何整合Redis
- 如何在Windows中安装VMware Workstation Pro 12
- LOL加载界面时闪退whoops,something.broke
- JedisConnectionFactory如何获取Redis
- 电脑提示operating system not found怎么办
- Windows系统中有哪些方法开启Postgresql服务
- missing operating system是怎么回事?
- 开机出现bootmgr is missing
- 当电脑出现missing operating system的解决办法
- 开机提示bootmgr is compressed无法启动的方法