springboot中的spring-session用mysql实现session共享实践
生活随笔
收集整理的這篇文章主要介紹了
springboot中的spring-session用mysql实现session共享实践
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.pom.xml添加依賴:
<!-- 數據庫session管理 --> <dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-jdbc</artifactId> </dependency>2.application.properties添加配置
spring.session.store-type=jdbc3.需要在數據庫中創建兩張表:
DROP TABLE IF EXISTS SPRING_SESSION_ATTRIBUTES; DROP TABLE IF EXISTS SPRING_SESSION; 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;4.如何設置session的有效時間
src/main/resources/application.properties spring.session.store-type=jdbc # Session store type. server.servlet.session.timeout= # Session timeout.例子:
spring session官網:https://docs.spring.io/spring-session/docs/2.2.0.RELEASE/reference/html5/
總結
以上是生活随笔為你收集整理的springboot中的spring-session用mysql实现session共享实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jpa添加索引的几种方式
- 下一篇: mysql sql执行加载顺序