springsession
Spring Session
一、 HttpSession 回顾
1 什么是 HttpSession
二、 Session 共享
1 什么是 Session 共享


2.3修改 POM 文件添加坐标依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.</modelVersion>
<groupId>com.bjsxt</groupId>
<artifactId>spring_session</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>session_service1</module>
<module>session_service2</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1..RELEASE</version>
</parent><dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-bom</artifactId>
<version>Bean-SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!--web Starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Redis Starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
<!--Spring session data redis-->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<!--Lettuce 是一个基于Netty的NIO方式处理Redis的技术-->
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</dependency>
</dependencies>
</project>
3 添加配置文件
3.1session_service1
3.2session_service2
4 创建启动类
4.1session_service1
4.2session_service2
5 编写测试代码测试效果
5.1session_service1
5.1.1创建 Controller
5.2session_service2
5.2.1创建 Controller
5.2.2测试

6 共享自定义对象
6.1创建 Users 实体类
public class Users implements Serializable {
private String username;
private String userpwd;
public String getUsername() {
return username;
}public String getUserpwd() {
return userpwd;
}
public void setUsername(String username) {
this.username = username;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
}
6.2修改 session_service1 的 controller
@RestController
@RequestMapping("service1")
public class WebController {
@RequestMapping("/setMsg")
public String setMsg(HttpSession session,String msg){
session.setAttribute("msg",msg);
return "ok";
}
/**
* 获取 Users 信息,保存到 HttpSession 中
*/
@RequestMapping("/addUsers")
public String addUsers(HttpSession session, Users users){
session.setAttribute("u",users);
return "ok";
}
}
6.3修改 session_service2 的 controller
@RestController@RequestMapping("/service2")
public class WebController {
@RequestMapping("/getMsg")
public String getMsg(HttpSession session){
String msg = (String) session.getAttribute("msg");
return msg;
}
/**
* 获取 HttpSession 中的 Users 对象
*/
@RequestMapping("/getUsers")
public Users getUsers(HttpSession session){
Users users = (Users) session.getAttribute("u");
return users;
}
}
6.4测试

7 Spring Session 的 Redis 存储结构
8 设置 Session 的失效时间
8.1在注解中设置失效时间
@SpringBootApplication
@EnableRedisHttpSession(maxInactiveIntervalInSeconds=)
public class Service1Application {
public static void main(String[] args){
SpringApplication.run(Service1Application.class,args);
}
}
9 @EnableRedisHttpSession 注解讲解
9.1maxInactiveIntervalInSeconds
9.2redisNamespace
9.3redisFlushMode
9.4cleanupCron
10.1在配置类中创建自定义序列化器
10.2测试

springsession的更多相关文章
- 使用SpringMVC集成SpringSession的问题
最近在使用SpringSession时遇到一个问题,错误日志如下: Exception sending context initialized event to listener instance o ...
- spring-session整合
如果项目之前没有整合过spring-data-redis的话,这一步需要先做,在maven中添加这两个依赖: <dependency> <groupId>org.spr ...
- [Spring] spring-session + JedisPool 实现 session 共享
1.至少导入四个jar包: jedis spring-session spring-data-redis commons-pool2 2.bean配置 <?xml version="1 ...
- 分布式cookie-session的实现(spring-session)
分布式cookie-session的实现(spring-session) 本文使用的spring-session版本为 1.0.0,地址为: https://github.com/spring-pro ...
- 架构设计之Spring-Session分布式集群会话管理
前言 通常在web开发中,回话管理是很重要的一部分,用于存储与用户相关的一些数据.对于JAVA开发者来说,项目中的session一般由Tomcat或者jetty容器来管理. 特点介绍 尽管使用特定的容 ...
- springboot 集成spring-session redis 实现分布式session
gradle 添加依赖 compile("org.springframework.session:spring-session:1.3.0.RELEASE") compile(&q ...
- 初试spring-session
一.简介 spring-session提供了用户会话信息管理的API和实现. 它将取代容器中的HttpSession.在没有容器会话集群方案的情况下,使得支持会话集群微不足道. 它支持在一个浏览器实例 ...
- spring-session实现分布式集群session的共享
前言 HttpSession是通过Servlet容器创建和管理的,像Tomcat/Jetty都是保存在内存中的.但是我们把应用搭建成分布式的集群,然后利用LVS或Nginx做负载均衡,那么来自同一用户 ...
- spring-session 共享
Spring session 共享 一.引入依赖 <dependency> <groupId>redis.clients</groupId> <artifac ...
- SpringBoot整合Redis、ApachSolr和SpringSession
SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...
随机推荐
- 4.9 省选模拟赛 生成树求和 变元矩阵树定理 生成函数 iDFT 插值法
有同学在loj上找到了加强版 所以这道题是可以交的.LINK:生成树求和 加强版 对于30分 爆搜 可实际上我爆搜只过了25分 有同学使用按秩合并并茶几的及时剪枝通过了30分. const int M ...
- JsLint undeclared ‘window’
如果使用IDEA 设置一下 globals 或 /*global window */ ... your script goes here https://stackoverflow.com/quest ...
- 银弹谷V百科|使用技巧:Vbase技巧二则之一
银弹谷零代码开发V平台提供访问窗体的短地址链接 格式:http://IP:port/form/componentCode/windowCode 例子: 默认地址:http://IP:port/mod ...
- 01-java开发环境配置
1 JDK.JRE.JVM的关系 JDK: java开发工具包 JRE: java运行时环境 JVM: java虚拟机 2 JDK下载 方式一:官网 方式二:该链接提供jdk1.6 ,jdk1.7 , ...
- mac 教你如何在Mac上搭建自己的服务器——Nginx
WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透. 有兴趣的朋友可以自行google或者baidu ...
- 【av68676164(p31-p32)】Windows和Linux同步机制
4.6.1 Windows同步机制 临界区(CRITICAL_SECTION) 在进程内使用,保证仅一个线程可以申请到该对象 临界区内是临界资源的访问 相关的API函数 初始化临界区 WINBASEA ...
- 安装Scrapy过程中遇到的几个问题总结
安装Scrapy 1.https://www.lfd.uci.edu/~gohlke/pythonlibs/下载 Twisted 安装 Twisted-19.10.0-cp37-cp37m-win_a ...
- Faiss流程与原理分析
1.Faiss简介 Faiss是Facebook AI团队开源的针对聚类和相似性搜索库,为稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前最为成熟的近似近邻搜索库.它包含多种搜索任意大 ...
- 使用JSPWiki丰富Unity-UPM包的使用
1.简述 诸如npm.Nuget之类的包管理工具,Unity推出了自己的Unity Package Manager(UPM)工具来管理使用到的第三方库. 现在Unity Package Manager ...
- 2020-04-23:假设一个订单的编号规则是AAAAOrder2020-0000001,AAAAOrder2020-0000002....后面的数字是自增长,如果订单号码达到AAAAOrder2020-1000000(100万),数据库中应该有100万条数据,此时我随机删除2条数据(物理删除,且不考虑日志和备份),请问怎么找到删掉的数据的编号?给出解题思路即可,答案需要在1秒内运行得到。
福哥答案2020-04-23: 分批查询:分成500次count(),每次count()肯定小于等于2000条数据,经过测试,一次count()在.1ms左右,500次就是500ms.二分法(时间微超 ...