pom.xml
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.wzq</groupId><artifactId>session</artifactId><version>0.0.1-SNAPSHOT</version><name>session</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--spring-session-data-redis--><dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId></dependency><!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
application.yml
server:servlet:session:timeout: 3600s
spring:application:name: sesionsession:store-type: redisredis:namespace: spring:sessiontimeout: 3600sredis:database: 1host: 192.168.0.45port: 6379password: 123456timeout: 20000lettuce:pool:pool:max-active: 8max-wait: -1max-idle: 8min-idle: 0
run.class
package com.wzq.session;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;@SpringBootApplication
/*** maxInactiveIntervalInSeconds 设置session超时时间 默认 30分钟*/
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 5000)
public class SessionApplication {public static void main(String[] args) {SpringApplication.run(SessionApplication.class, args);}}
SpringSessionConfig.java
package com.meeno;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;
//import org.springframework.session.web.http.CookieSerializer;
//import org.springframework.session.web.http.DefaultCookieSerializer;/*** @Author: GoslingWu* @Date: Created in 2020/10/22* @Description:*/
@Configuration
public class SpringSessionConfig {@Beanpublic CookieSerializer httpSessionIdResolver() {DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();cookieSerializer.setUseHttpOnlyCookie(false);cookieSerializer.setSameSite("None");return cookieSerializer;}}
test方法
package com.wzq.session.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;/*** @description: 测试Controller* @author: Wzq* @create: 2020-09-03 14:37*/
@RestController
@RequestMapping
public class TestController {/*** 登录* @param session* @return*/@RequestMapping("login")public String login(HttpSession session,String msg){session.setAttribute("msg",msg);return session.getId();}/*** 测试方法* @param session* @return*/@RequestMapping("test")public Map<String, Object> test(HttpSession session){String sessionId = session.getId();Object msg = session.getAttribute("msg");Map<String,Object> map = new HashMap<>();map.put("sessionId", sessionId);map.put("msg", msg);return map;}}

SpringSession(redis)相关推荐

  1. SpringSession+redis解决分布式session不一致性问题

    七.案例实战:SpringSession+redis解决分布式session不一致性问题 步骤1:加入SpringSession.redis的依赖包 <dependency><gro ...

  2. spring-session + redis 实现集群 session 共享

    2019独角兽企业重金招聘Python工程师标准>>> 目前市面上实现session共享的方案有很多,其中比较常用的是使用Tomcat.Jetty等web服务器提供的session共 ...

  3. SpringBoot+Redis环境搭建

    写在正文前的絮叨: 其实这个环境的搭建是很简单的,照着官网给的说明很快就可以搭建测试出来.为什么又要写出来呢?只是为了记录.保留.分享这其中遇到的坑. 这个环境之前在架构一个简单系统时,也曾经搭建过, ...

  4. Redis数据结构Hash应用场景-存储商品、购物车、淘宝短链接、分布式Session、用户注册、发微博功能

    Hash应用场景 Hash Hash应用场景 redis存储java对象常用String,那为什么还要用hash来存储? SpringBoot+redis+hash存储商品数据 短链接 场景1:淘宝短 ...

  5. 十六.SpringCloud+SpringSession实现微服务单点登录

    Session不共享问题 对于登录而言,通常情况下我们喜欢把登录信息存储到服务器的Session中,这种存储方式在单体应用中没有问题,但是在分布式/集群环境中会存在Session丢失问题,如下图: 解 ...

  6. Web网站搭建从零到一

    作者:张志朋,资深Java爱好者,深耕于在线教育领域,个人博客: https://blog.52itstyle.com. 来源:DBAplus社群 前言 工作也有几多年了,无论是身边遇到的还是耳间闻到 ...

  7. 吃透这套架构演化图_从零搭建Web网站也不难!

    摘要: 前言 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充.俗话说得好,冰冻三尺非一日 ...

  8. SpringBoot+SpringSecurity之多模块用户认证授权同步

    在之前的文章里介绍了SpringBoot和SpringSecurity如何继承.之后我们需要考虑另外一个问题:当前微服务化也已经是大型网站的趋势,当我们的项目采用微服务化架构时,往往会出现如下情况: ...

  9. 吃透这套架构演化图,从零搭建Web网站也不难

    转载自 吃透这套架构演化图,从零搭建Web网站也不难 前言 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对 ...

最新文章

  1. 软件包管理(rpmyum)
  2. Gartner十大IT预测:七大数字巨头,有五家将心甘情愿“自我颠覆”
  3. CentOS中部署jar包时提示:org.quartz.SchedulerException: Couldn‘t get host name
  4. stm32中#ifndef __LED_H的作用
  5. c++中,可以用类名直接访问非静态成员函数?
  6. 用 Python 实现的线程池
  7. Code Review 与 结对编程
  8. 关闭流时,抛出异常:java.io.IOException: Stream Closed
  9. 常用 Git 命令清单(阮一峰)
  10. 代码保护软件VMProtect加壳脱壳原理总结
  11. 26个颠覆世界的 3D 打印产品,未来将会创造另一个新的世界
  12. 远程桌面教程及指定主机远程连接方法
  13. webpack安装、配置
  14. robot光线机器人安卓版_RobotMake下载-RobotMake机器人控制软件下载v3.1.5 安卓版-西西软件下载...
  15. iis7 winmail php,MagicWinmailServer
  16. 0004基于单片机智能垃圾桶控制系统设计
  17. Jlink命令行烧录
  18. java获取当前时间,时间戳,时间戳和时间相互转换
  19. 20230210使AIO-3568J开发板在Android12下调通3个USB
  20. .NET破解之爱奇迪(三)

热门文章

  1. 服务器崩溃日志 | 误删 OpenSSL 的那点事
  2. 如何卸载 python setup.py install 安装的包?
  3. metacoder-相关进化树图的绘制于实践
  4. iMeta期刊顾问James M Tiedje当选中国科学院外籍院士
  5. TaxonKit:小巧、高效、实用的NCBI分类学数据命令行工具
  6. MPB:华南农大王文策组-​水禽肠道食糜微生物脂多糖含量的检测
  7. 德州农工大学 计算机排名,德州农工大学美国大学排名及专业排名汇总(USNEWS美国大学排名版)...
  8. pandas自定义设置dataframe每个索引的标签、自定义设置索引的列名称(customize index name and index label)
  9. R语言使用cowplot包的plot_grid函数将两个ggplot2可视化结果并排组合起来并添加图像标签A、B、设置组合图像使用共享的图例(shared legend in cowplot)
  10. JMeter:No-GUI运行及生成漂亮的HTML报告