Spring Boot 2 实践记录之 Redis 及 Session Redis 配置

时间:2022-03-14 00:36:05

先说 Redis 的配置,在一些网上资料中,Spring Boot 的 Redis 除了添加依赖外,还要使用 XML 或 Java 配置文件做些配置,不过经过实践并不需要。

先在 pom 文件中添加 redis 的依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>xxx.xxx.xxx.RELEASE</version>
</dependency>

如果 Redis 部署在 Spring Boot 运行环境的同一台服务器上,端口为默认的 6379,且没有设置密码,那么其实 Redis 已经可用了。

当然这种假设其实在多数情况下并不成立,所以还是要在配置文件中设置一下,还可以对连接池做个设置:

spring.redis.host=xxx.xxx.xxx.xxx #Redis 服务器ip
spring.redis.port=6379 #Redis 服务器端口
spring.redis.password=xxxxxx #连接密码
spring.redis.timeout=2000 #超时时间
spring.redis.pool.max-active=8 #最大连接数
spring.redis.pool.max-wait=-1 #连接超时设置
spring.redis.pool.max-idle=8 #最大空闲数
spring.redis.pool.min-idle=0 #最小空闲数

再说 Session,如果直接使用 session,是调用的 org.apache.catalina.session.StandardSessionFacade 做 Session 管理。

要想将 Session 存储在 Redis 中,也很简单,只需要在 pom 中添加 spring-session-data-redis 依赖:

<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>

不需要在配置文件中添加如下配置(网上多数文章都提到了这个配置):

spring.session.store-type=Redis

也不需要在 Java 配置文件中做如下配置:

import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; @Configuration
@EnableRedisHttpSession
public class SessionConfiguration {
}

倒是可以在加入了 spring-session-data-redis 依赖后,又在某些情况下(比如本地测试时),不想将 Session 存入 Redis,可以通过在配置文件中加入如下配置项来实现屏蔽:

spring.session.store-type=None

Spring Boot 2 实践记录之 Redis 及 Session Redis 配置的更多相关文章

  1. Spring Boot 2 实践记录之 使用 ConfigurationProperties 注解将配置属性匹配至配置类的属性

    在 Spring Boot 2 实践记录之 条件装配 一文中,曾经使用 Condition 类的 ConditionContext 参数获取了配置文件中的配置属性.但那是因为 Spring 提供了将上 ...

  2. Spring Boot 2 实践记录之 封装依赖及尽可能不创建静态方法以避免在 Service 和 Controller 的单元测试中使用 Powermock

    在前面的文章中(Spring Boot 2 实践记录之 Powermock 和 SpringBootTest)提到了使用 Powermock 结合 SpringBootTest.WebMvcTest ...

  3. Spring Boot 2 实践记录之 MyBatis 集成的启动时警告信息问题

    按笔者 Spring Boot 2 实践记录之 MySQL + MyBatis 配置 中的方式,如果想正确运行,需要在 Mapper 类上添加 @Mapper 注解. 但是加入此注解之后,启动时会出现 ...

  4. Spring Boot 2 实践记录之 Powermock 和 SpringBootTest

    由于要代码中使用了 Date 类生成实时时间,单元测试中需要 Mock Date 的构造方法,以预设其行为,这就要使用到 PowerMock 在 Spring Boot 的测试套件中,需要添加 @Ru ...

  5. Spring Boot分布式系统实践【扩展1】shiro&plus;redis实现session共享、simplesession反序列化失败的问题定位及反思改进

    前言 调试之前请先关闭Favicon配置 spring:     favicon:       enabled: false 不然会发现有2个请求(如果用nginx+ 浏览器调试的话) 序列化工具类[ ...

  6. Spring Boot 2 实践记录之 使用 Powermock、Mockito 对 UUID 进行 mock 单元测试

    由于注册时,需要对输入的密码进行加密,使用到了 UUID.sha1.md 等算法.在单元测试时,使用到了 Powermock,记录如下. 先看下加密算法: import org.apache.comm ...

  7. Spring Boot 2 实践记录之 组合注解原理

    Spring 的组合注解功能,网上有很多文章介绍,不过都是介绍其使用方法,鲜有其原理解析. 组合注解并非 Java 的原生能力.就是说,想通过用「注解A」来注解「注解B」,再用「注解B」 来注解 C( ...

  8. Spring Boot 2 实践记录之 MySQL &plus; MyBatis 配置

    如果不需要连接池,那么只需要简单的在pom文件中,添加mysql依赖: <dependency> <groupId>mysql</groupId> <arti ...

  9. Spring Boot 2 实践记录之 条件装配

    实验项目是想要使用多种数据库访问方式,比如 JPA 和 MyBatis. 项目的 Service 层业务逻辑相同,只是具体实现代码不同,自然是一组接口,两组实现类的架构比较合理. 不过这种模式却有一个 ...

随机推荐

  1. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  2. 使用eclipse进行Android编程发生崩溃的一个问题及解决办法

    刚才在使用eclipse的时候发生了vm占用过高而无法使用的问题,最初我以为只要重启eclipse就可以解决,重启之后仍然没有效果.重启PC之后打开eclipse仍然无法打开.eclipse是有自己的 ...

  3. JavaWeb学习笔记——jsp&colon;setproperty和getproperty

  4. MVC加载view的方式

    主要有 Html.ActionLink Html.RenderPartial Html.RenderAction Html.Partial Ajax.ActionLink load 浏览器对象模型 ( ...

  5. QTableView 添加进度条 添加按钮 TreeWidget 增删改

    http://www.cnblogs.com/li-peng/p/3961386.html http://www.cnblogs.com/li-peng/p/3961843.html http://w ...

  6. 网页favicon&period;ico图标设置(转)

    随便打开一个网页:比如 http://www.baidu.com/ 可以看到在浏览器的标签头上面显示了一个图标,这个图标是:,也就是我们常说的favicon.ico. 由于这篇文章主要讨论favico ...

  7. 吉特日化MES-日化生产称料基本步骤

    在日化行业称料是一个非常重要的环节,整个生产过程中称料所占据的时间也比较长,特别是遇到对料体精度高,量大的情况下称料都比较困难,汇总一下人工称料的基本过程: (1) 称量任务准备:根据生产工单或者生产 ...

  8. Selenium上机实验

    1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问https://psych.liebes.top/st使用学号登录系统(账户名为学号,密码为学号后6位 ...

  9. CF1109D Sasha and Interesting Fact from Graph Theory

    CF1109D Sasha and Interesting Fact from Graph Theory 这个 \(D\) 题比赛切掉的人基本上是 \(C\) 题的 \(5,6\) 倍...果然数学计 ...

  10. LeetCode题解之Binary Tree Postorder Traversal

    1.题目描述 2.问题分析 递归 3.代码 vector<int> postorderTraversal(TreeNode* root) { vector<int> v; po ...