SpringBoot整合SpringSeesion实现Redis缓存

2023-01-04 19:19:04来源:网络转载作者:匿名 阅读量:142 字体:

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

SpringBoot整合SpringSeesion实现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错乱的现象。

推荐阅读

  • dnf被制裁怎么缩短时间

    dnf被制裁怎么缩短时间

    01、首先手机关注微信公众号“腾讯游戏安全游戏中心” 02、进入左下角的绑定管理。 03、将自己被制裁的号加入绑定然后回到公众号选择自助服务。 04、然后选择处罚查询,就可以看到自己的制裁情况,...

    阅读: 741

  • 罪恶都市怎么游泳秘籍

    罪恶都市怎么游泳秘籍

    电脑01、打开桌面上侠盗飞车罪恶都市客户端 02、登录游戏后,输入秘籍:LOADS OF LITTLE THINGS(两遍) 03、然后再输入秘籍:GET THE REFAST ,得到一辆汽车 ...

    阅读: 909

  • 小米电视怎么看电视直播

    小米电视怎么看电视直播

    01、在搜狗搜索中搜索影视快搜tv版下载。 02、下载之后,将U盘插入电脑主机,将影视快搜的安装包拷贝下来。 03、把U盘插到小米电视的USB接口上,随后电视跳出一个页面,点击应用。 04、点击...

    阅读: 947

  • u盘格式化后的文件能找回吗

    u盘格式化后的文件能找回吗

    电脑,U盘 01、首先要说明的一点是u盘里面的格式化了的文件,只要没有被新文件覆盖,都是可以找回来的。 02、找回的步骤第一步就是,把u盘插到电脑上面,等待电脑识别u盘,识别后进行下一步 03、...

    阅读: 758

  • Excel表格里垂直滚动条怎么调长?

    Excel表格里垂直滚动条怎么调长?

    使用软件:excel01、在桌面上双击excel的快捷图标,打开excel这款软件,进入到excel的操作界面如图所示: 02、打开excel之后按下Ctrl+O键在弹出的对话框内我们找到表格文件,...

    阅读: 761

  • Word2013中打印快捷键一览表设置

    Word2013中打印快捷键一览表设置

    电脑一部、word 2013 01、1.在电脑桌面上找到Word2013 ,并点击鼠标右键,然后鼠标左键点击“打开”。 02、2.打开了Word2013 ,就会出现如下界面,然后选择“空白...

    阅读: 730

  • 怎样修改iTunes备份目录路径释放C盘空间

    怎样修改iTunes备份目录路径释放C盘空间

    电脑01、首先需要删除你的原始备份文件夹,在C盘依次打开C:UsersLS(每人不一样,为你的用户名)AppDataRoamingApple Computer,然后删除MobileSync文件夹 0...

    阅读: 696

  • 怎么设置一台电脑两台显示器两个屏幕

    怎么设置一台电脑两台显示器两个屏幕

    笔记本电脑 VGA或者HDMI数据线01、电脑可以分屏对于很多编程学习爱好者来说有着不少的妙用,可以左边的屏幕看视频学习,右边的实例操作。 02、我们首先需要知道我们的笔记本电脑的外接数据线的...

    阅读: 688

  • 怎样用光盘重装联想电脑系统

    怎样用光盘重装联想电脑系统

    联想笔记本电脑带光驱 光盘(电脑系统) 01、首先电脑开机放入光盘,重启电脑时多次按动F12键打开启动菜单并选择DVD选项,按回车键确认 02、进入光盘系统安装菜单后,按 1 键,安装系统到第一...

    阅读: 691

  • 如何解决winxp开机后不显示桌面

    如何解决winxp开机后不显示桌面

    01、不显示桌面,是由于explorer.exe进程没有正常启动,我们可以手动打开这个进程。同时按键盘上的ctrl+alt+del键 02、按了后,会弹出任务管理器,我们点击管理器菜单上的‘文件’ ...

    阅读: 650

热门文章