# simple-session
**Repository Path**: redis-study/simple-session
## Basic Information
- **Project Name**: simple-session
- **Description**: 一个简化'SpringSession'的分布式共享Session的框架,功能刚好够用,删除'SpringSession'分支功能,配置简单容易上手,代码简单容易二次开发
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 8
- **Created**: 2018-03-20
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Simple Session
> A Distributed Session Frame (Java)
一个简化`SpringSession`的分布式Session框架, 基于Java, 旨在简单好用
## 1. Quick Start
如果你的项目是`SpringBoot`那么看下面`1. Spring boot`
如果你的项目是`SpringMVC`项目看下面`2. SpringMVC`
### 1.1 Spring boot
**Step1.** Add `@EnableSimpleSession` on your Main Class
```Java
@SpringBootApplication
@EnableSimpleSession
public class MainRun {
...
}
```
**Step2.** Config your Redis
如果已经配置了一个`JedisPool`实例,那么可以跳过这步;没有的话,需要配置`application.properties `
```bash
// application.properties
simplesession.redis.host=127.0.0.1
simplesession.redis.port=6379
```
### 1.2 SpringMVC
SpringMVC 只需要配置一个`SimpleSessionFactory`, 当然首先需要配置`JedisPool`(省略)
```xml
// application-context.xml
// web.xml
DelegatingFilterProxy
org.springframework.web.filter.DelegatingFilterProxy
targetBeanName
simpleSessionFilter
targetFilterLifecycle
true
DelegatingFilterProxy
/*
```
## 2. 使用
`Simple Session` 使用跟普通的session一致,通过`request.getSession()`可以获取。
**限制:**`Simple Session`不允许在`commit`以后再进行操作session,简单说就是在`Filter`中尽量不要进行操作`session`。取消了`Session`的**过期、创建等Context事件**。
`Simple Session`使用`Redis`作为存储,可以配置保存策略:IMMEDIATE(立即)、LAZY(懒保存),当设置为 *IMMEDIATE* 时属性修改等操作都会马上同步到`Redis`,当设置为 *LAZY* 时会延迟操,等待请求完成后一并保存到`Redis`。
至此基本的使用都已经可以了,其他的**详细使用开发手册见后续放出的文档。**