diff --git a/sa-token-doc/doc/use/dao-extend.md b/sa-token-doc/doc/use/dao-extend.md index 095b19f9..5a96d70b 100644 --- a/sa-token-doc/doc/use/dao-extend.md +++ b/sa-token-doc/doc/use/dao-extend.md @@ -1,12 +1,15 @@ # 持久层扩展 --- -- 每次重启项目都需要重新登录一次,我想把会话数据都放在`Redis`、`Memcached`等专业的缓存中间件中,这样项目重启数据不丢失,行不行?**行!** -- sa-token 在架构设计时将数据持久操作全部抽象到接口`SaTokenDao`中,此设计可以保证开发者对数据持久层的灵活扩展 -- 除了框架内部对`SaTokenDao`提供的基于内存的默认实现,官方仓库还提供了以下扩展方案:
-- (注意: 整合Redis只需要引入对应的pom依赖即可,所有上层API保持不变) + +sa-token默认将会话数据保存在内存中,此模式读写速度最快,且避免了序列化与反序列化带来的性能消耗,但是此模式也有一些缺点,比如:重启后数据会丢失,无法在集群模式下共享数据 + +为此,sa-token将数据持久操作全部抽象到 `SaTokenDao` 接口中,此设计可以保证开发者对框架进行灵活扩展,比如我们可以将会话数据存储在 `Redis`、`Memcached`等专业的缓存中间件中,做到重启数据不丢失,而且保证分布式环境下多节点的会话一致性 + +除了框架内部对`SaTokenDao`提供的基于内存的默认实现,官方仓库还提供了以下扩展方案:
### 1. sa-token 整合 Redis (使用jdk默认序列化方式) +(注意: 整合Redis只需要引入对应的pom依赖即可,所有上层API保持不变) ``` xml