位置:首页游戏数码>SpringBoot整合SpringSeesion实现Redis缓存 springboot的优点

SpringBoot整合SpringSeesion实现Redis缓存 springboot的优点

所属分类:游戏数码 发布时间:2025/8/23 20:48:15

使用Spring Boot开发项目时我们经常需要存储Session,因为Session中会存一些用户信息或者登录信息。传统的web服务是将session存储在内存中的,一旦服务挂了,session也就消失了,这时候我们就需要将session存储起来,而Redis就是用来缓存seesion的一种非关系型数据库,我们可以通过配置或者注解的方式将Spring Boot和Redis整合。而在分布式系统中又会涉及到session共享的问题,多个服务同时部署时session需要共享,Spring Session可以帮助我们实现这一功能。将Spring Session集成到Spring Boot框架中并使用Redis进行缓存是目前非常流行的解决方案,接下来就跟着小编一起学习吧。

工具/材料

IntelliJ IDEA

操作方法

01

首先我们创建一个Spring Boot 2.x的项目,在application.properties配置文件中添加Redis的配置,Spring和Redis的整合可以参考小编其他的文章,此处不再详解。我们设置服务端口server.port为8080端口用于启动第一个服务。

02

接下来我们需要在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的整合方案。

03

接下来我们创建一个配置类RedisSessionConfig,这个类使用@Configuration注解表明这是一个配置类。在这个类上我们同时添加注解@EnableRedisHttpSession,表示开启Redis的Session管理。如果需要设置失效时间可以使用@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 3600)表示一小时后失效。若同时需要设置Redis的命名空间则使用@EnableRedisHttpSession(maxInactiveIntervalInSeconds=3600, redisNamespace="{spring.session.redis.namespace}") ,其中{spring.session.redis.namespace}表示从配置文件中读取这个命名空间。

04

配置完成后我们写一个测试类SessionController,在这个类中我们写两个方法,一个方法用于往session中存数据,一个用于从session中取数据,代码如下图所示,我们存取请求的url。启动类非常简单,一般都是通用的,我们创建一个名为SpringbootApplication的启动类,使用main方法启动。

05

接下来我们使用Postman分别请求上面两个接口,先请求存数据接口,再请求取数据接口,结果如下图所示,我们可以看到数据已从redis中取出。另外需要注意sessionId的值,这是session共享的关键。

06

为了验证两个服务是否共享了session,我们修改项目的配置文件,将服务端口server.port改为8090,然后再启动服务。此时我们不必在请求存数据的接口,只需要修改请求端口号再一次请求取数据的接口即可。由下图可以看到两次请求的sessionId值相同,实现了session的共享。

07

以上我们完成了SpringBoot整合SpringSeesion实现Redis缓存的功能,在此我们还要推荐一个Redis的可视化工具RedisDesktopManager,我们可以配置Redis数据库的连接,然后便可以非常直观地查看到存储到Redis中的session了,如下图所示,session的命名空间是share,正是从配置文件中读取到的。

特别提示

如果Redis服务器是很多项目共用的,非常建议配置命名空间,否则同时打开多个项目的浏览器页面可能会导致session错乱的现象。

推荐信息

  • 微信小程序怎么取消授权 小程序取消授权的方法 微信小程序怎么取消授权管理

    游戏数码时间:2025/8/22 15:56:11

    今天小编要和大家分享的是微信小程序怎么取消授权,希望能够帮助到大家。操作方法01首先点击微信中的小程序,如下图所示。02然后点击一个我们要取消授权的小程序,如下图所示。03接着点击屏幕右上方的三个点,如图所示。04然后点击关于这个软件,如下图所示。05接着点击屏幕右上方的三个点,如下图所示。06然后

  • 将十进制数转换成十六进制数的方法 十进制数转换成十六进制数的简洁代码

    游戏数码时间:2025/8/20 1:33:06

    我们进行数学运算的时候经常需要转化进制,那么如何将十进制转化为十六进制呢?下面小编给大家分享一下。操作方法01首先打开excel文件,在一个单元格中输入要转化的十进制数字,如下图所示02接下来点击自动求和的下拉框,选择其他函数选项,如下图所示03然后在弹出的界面中找到DEC2HEX函数,这个是专门进

  • Windows10配置Java环境教程 windows10配置环境变量

    游戏数码时间:2025/8/24 18:21:26

    我们在win10中使用java首先需要配置环境,那么如何配置呢?下面小编给大家分享一下。工具/材料win10操作方法01首先右键单击我的电脑,选择属性选项,如下图所示02接下来在弹出的界面中点击左侧的高级系统设置,如下图所示03然后在弹出的界面中点击环境变量按钮,如下图所示04在环境变量界面中增加一

  • outlook2016怎么添加邮箱账户 outlook2016怎么更改邮件存储位置

    游戏数码时间:2025/8/24 5:25:00

    我们使用outlook2016的时候,首先需要添加邮箱地址,那么如何添加呢?下面小编给大家分享一下。工具/材料outlook2016操作方法01首先打开outlook2016软件,点击顶部的通讯簿按钮,如下图所示02然后在弹出的界面中点击左上角的文件菜单,选择添加新地址,如下图所示03接下来给新地址

  • 如何用java制作判断平年闰年的小程序 java中判断语句怎么用

    游戏数码时间:2025/8/22 9:16:42

    我们使用java操作日期的时候,经常需要判断平年和闰年,那么如何用程序实现呢?下面小编给大家分享一下。工具/材料java编辑器操作方法01首先我们在java编辑器中添加一个主函数,如下图所示02接下来声明一个年份,然后编写判断平年和闰年的逻辑,如下图所示03接着我们执行程序就可以看到这个年份是平年还

  • javascript 实现简单计算器 javascript教程

    游戏数码时间:2025/8/13 6:01:47

    javascript可以帮助我们进行数字的运算,那么如何使用javascript制作简单的计算器呢?下面小编给大家分享一下。工具/材料Sublime text操作方法01首先在Sublime Text中新建一个HTML文件,如下图所示02然后在body区域中布局计算器的界面,如下图所示03接下来在s

  • notepad++的简单使用教程 notepad+o

    游戏数码时间:2025/8/22 15:51:33

    notepad++是我们经常使用的编辑器,下面小编就给大家简单的介绍一下它的使用。工具/材料notepad++操作方法01首先我们点击左上角的文件菜单,在下来菜单中选择新建选项02接下来在界面中写入一些内容以后一定按Ctrl+S进行保存,这时候会弹出保存界面03然后正式保存的文件会显示文件后缀名,这

  • win10更改字体 win10更改字体大小

    游戏数码时间:2025/8/24 21:00:52

    我们使用win10系统的时候,如果想更改字体该怎么做呢?下面小编给大家分享一下。工具/材料win10操作方法01首先按下Win+R组合键打开运行界面,如下图所示02接下来在弹出的注册表界面中定位到Fonts位置,如下图所示03然后选择要更改的字体,右键单击选择修改,如下图所示04最后在弹出的界面中填

  • matlab如何求矩阵特征值 matlab如何求矩阵的特征值和特征向量

    游戏数码时间:2025/8/24 18:49:47

    我们经常会使用matlab进行矩阵的运算,那么如何求矩阵的特征值呢?下面小编给大家分享一下。工具/材料matlab操作方法01首先我们打开matlab软件,定义一个矩阵,如下图所示02然后执行[x,y] = eig(a)公式,求出x,y的值,如下图所示03接下来执行diag(y),求出y的特征值,如

  • sql server如何添加外键 sqlserver如何备份数据库

    游戏数码时间:2025/8/21 1:49:22

    我们使用sql server创建数据表的时候,经常需要建立表之间的外键约束关系,那么如何添加外键呢?下面小编给大家分享一下。工具/材料sql server操作方法01首先我们先来建立两个表,如下图所示,班级表和年级表02然后右键单击班级表,在弹出的菜单中选择关系选项,如下图所示03接下来在弹出的表和