讲师中心 微信公众号
AI工具推荐 视频效率加速

Spring Boot集成Redis实现分布式Session共享怎么做?

夜磊大大_2089

夜磊大大_2089

发布时间:2026-08-30 09:14:25

|

953人浏览过

|

来源于php中文网

原创

必须同时引入spring-session-data-redis和spring-boot-starter-data-redis依赖,缺一不可;需配置spring.session.store-type=redis并设置spring.session.timeout,推荐使用@EnableRedisHttpSession无参注解配合application.yml配置,避免硬编码;注意namespace隔离与database选择以防冲突。

spring boot集成redis实现分布式session共享怎么做?

直接结论:不用改登录逻辑,加依赖、配 Redis、加一个注解,Session 就自动存到 Redis 里了。

依赖必须加对,spring-session-data-redisspring-boot-starter-data-redis 缺一不可

只加 spring-boot-starter-data-redis 不行——它只提供 Redis 操作能力,不接管 Session;只加 spring-session-data-redis 也不行——它依赖底层 Redis 客户端。Spring Boot 2.0+ 默认用 Lettuce,所以还要显式引入连接池支持:

  • org.springframework.session:spring-session-data-redis
  • org.springframework.boot:spring-boot-starter-data-redis
  • org.apache.commons:commons-pool2(否则启动报 Cannot instantiate interface org.springframework.data.redis.connection.RedisConnectionFactory

@EnableRedisHttpSession 注解的参数别硬编码,优先走配置项

这个注解控制 Session 过期时间,但它的 maxInactiveIntervalInSeconds 参数会覆盖 server.servlet.session.timeout,且一旦写死在代码里就难统一管理。推荐做法是:

Redis Skill - 高性能缓存管理
Redis Skill - 高性能缓存管理

Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。

下载
  • 注解保持无参:@EnableRedisHttpSession
  • application.yml 中配:spring.session.timeout=1800(单位秒)
  • 注意:该配置只对 Spring Session 生效,不影响 Tomcat 原生 Session

Redis 配置里 spring.session.store-type=redis 是开关,漏了就退化成内存 Session

这个配置项是 Spring Boot 自动装配的触发条件。没写或拼错(比如写成 redis-store),@EnableRedisHttpSession 会被忽略,应用仍用本地内存存 Session,多实例下立刻失效。常见错误现象:

  • 本地单实例跑正常,部署两台后登录态随机丢失
  • Redis 中查不到以 spring:session: 开头的 key
  • 日志里没有类似 Creating RedisOperationsSessionRepository 的初始化记录

Session 数据实际存在 Redis 的哪个库?默认是 database 0,但可能被其他服务占用

spring.redis.database 决定 Redis DB 索引,而 spring.session.redis.namespace 决定 key 前缀(默认 spring:session)。这两个要配合看:

  • 如果共用一套 Redis,不同服务用了相同 database 和默认 namespace,会互相覆盖 Session
  • 建议生产环境显式设 spring.session.redis.namespace=myapp:session
  • 检查是否生效:连上 Redis 执行 KEYS "myapp:session:*",应能看到 session 相关 key

最容易被忽略的是 namespace 冲突和 store-type 配置缺失——这两点不排查,其他都白配。

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

2091

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

397

2026.01.26

什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

1873

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

2454

2023.10.07

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

580

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

856

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

1726

2025.08.19

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

3989

2023.11.02

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

0

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn