美文网首页
SpringBoot数据库存储用户session

SpringBoot数据库存储用户session

作者: 飘渺55 | 来源:发表于2020-06-20 17:26 被阅读0次

在系统开发或测试的时候, 修改代码,系统重启后会,刚登陆的用户的session就没有了,又得重新登陆测试系统,这样就很麻烦,
然后网上大部份方案是redis 或用spring session 等要改的东西有点多.因为项目一般都有数据库,能不能就存在数据库里.系统重启自动从数据库加载session.
果然有这类方案具体
https://www.cnblogs.com/davidwang456/p/10361550.html
在原有项目上做了四个变动
1 gradle文件上添加 compile('org.springframework.session:spring-session-jdbc')
2 CREATE TABLE SPRING_SESSION (
PRIMARY_ID CHAR(36) NOT NULL,
SESSION_ID CHAR(36) NOT NULL,
CREATION_TIME BIGINT NOT NULL,
LAST_ACCESS_TIME BIGINT NOT NULL,
MAX_INACTIVE_INTERVAL INT NOT NULL,
EXPIRY_TIME BIGINT NOT NULL,
PRINCIPAL_NAME VARCHAR(100),
CONSTRAINT SPRING_SESSION_PK PRIMARY KEY (PRIMARY_ID)
) ENGINE=INNODB ROW_FORMAT=DYNAMIC;

CREATE UNIQUE INDEX SPRING_SESSION_IX1 ON SPRING_SESSION (SESSION_ID);
CREATE INDEX SPRING_SESSION_IX2 ON SPRING_SESSION (EXPIRY_TIME);
CREATE INDEX SPRING_SESSION_IX3 ON SPRING_SESSION (PRINCIPAL_NAME);

CREATE TABLE SPRING_SESSION_ATTRIBUTES (
SESSION_PRIMARY_ID CHAR(36) NOT NULL,
ATTRIBUTE_NAME VARCHAR(200) NOT NULL,
ATTRIBUTE_BYTES BLOB NOT NULL,
CONSTRAINT SPRING_SESSION_ATTRIBUTES_PK PRIMARY KEY (SESSION_PRIMARY_ID, ATTRIBUTE_NAME),
CONSTRAINT SPRING_SESSION_ATTRIBUTES_FK FOREIGN KEY (SESSION_PRIMARY_ID) REFERENCES SPRING_SESSION(PRIMARY_ID) ON DELETE CASCADE
) ENGINE=INNODB ROW_FORMAT=DYNAMIC;
3 修改yml文件 session:
store-type:JDBC
4自己的用户类继承 java.io.Serializable接口

这样重新部署也不会丢失用户的session不需要重新登录.

相关文章

  • SpringBoot数据库存储用户session

    在系统开发或测试的时候, 修改代码,系统重启后会,刚登陆的用户的session就没有了,又得重新登陆测试系统,这样...

  • java中的技术原理

    SpringBoot自动装配原理 SpringBoot集成Redis Session存储到Redis中 Sprin...

  • PHP Session

    PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置...

  • php session的基础知识

    什么是session? session变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保...

  • php session redis 配置

    相信很多人用过数据库,Memcache以及文件存储SESSION,那么Rdis可以存储SESSION吗?答案是肯定...

  • php session redis 配置

    相信很多人用过数据库,Memcache以及文件存储SESSION,那么Rdis可以存储SESSION吗?答案是肯定...

  • php session redis 配置

    相信很多人用过数据库,Memcache以及文件存储SESSION,那么Rdis可以存储SESSION吗?答案是肯定...

  • PHP视频学习 session redis 配置

    相信很多人用过数据库,Memcache以及文件存储SESSION,那么Rdis可以存储SESSION吗?答案是肯定...

  • 从 session 到 token

    2018.04.18 服务器存储 session 的缺点:所有集群实例都存储所有用户的 session,集群实例数...

  • SESSION

    一、SESSION概述 1、什么是SESSION? 1)Session对象存储特定用户的会话数据;2)Sessio...

网友评论

      本文标题:SpringBoot数据库存储用户session

      本文链接:https://www.haomeiwen.com/subject/holgxktx.html