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