介绍
本文介绍 实现聊天历史持久化/存储 的类
| 类名 | 存储介质 | 持久化 | 并发性能 | 部署复杂度 | 适用场景 |
|---|---|---|---|---|---|
| InMemoryChatMessageHistory | 内存 | ❌ 否 | ✅ 极高 | 0 | 临时会话、测试 |
| FileChatMessageHistory | 本地JSON文件 | ✅ 是 | ❌ 低 | 0 | 本地单用户程序 |
| SQLiteChatMessageHistory | 本地SQLite | ✅ 是 | ⚠️ 中 | 0 | 本地多会话程序 |
| RedisChatMessageHistory | Redis | ✅ 是 | ✅ 极高 | 低 | 线上高并发服务 |
| PostgresChatMessageHistory | PostgreSQL | ✅ 是 | ✅ 高 | 中 | 企业级、海量数据 |
| MySQLChatMessageHistory | MySQL | ✅ 是 | ✅ 高 | 中 | 国内企业级应用 |
| MongoDBChatMessageHistory | MongoDB | ✅ 是 | ✅ 高 | 中 | 云原生、非结构化消息 |
选择
所有类都可无缝替换:核心 API 完全一致,更换存储介质无需修改业务逻辑。
- 本地开发/单用户:优先选
FileChatMessageHistory(简单)或SQLiteChatMessageHistory(多会话); - 线上高并发服务:首选
RedisChatMessageHistory(性能最优); - 企业级长期存储:选
Postgres/MySQLChatMessageHistory(规范、可扩展);