mirror of
https://github.com/LingChair/LingChair-V0.git
synced 2025-12-07 17:45:49 +08:00
40 lines
1009 B
Markdown
40 lines
1009 B
Markdown
### 关于聊天记录储存的方案概述
|
||
|
||
自 3月10日 开始,这个项目遇到了一些瓶颈,停止开发
|
||
|
||
我在这段时间的精力也被耗尽
|
||
|
||
故此,在今天(3月26日)重新思考,理清思路
|
||
|
||
预计3月28日左右实现此功能
|
||
|
||
#### 基本想法
|
||
|
||
##### 写入
|
||
|
||
对于储存来说,从 0 开始计次,一条消息对应一个 ID
|
||
|
||
第一条消息的 ID 为 1, 计次文件储存为 1
|
||
|
||
为了性能,每个消息使用一个 JSON 文件储存
|
||
|
||
##### 读取
|
||
|
||
当读取时,从计次文件获取计次数,并从此数字递减,以此读取
|
||
|
||
然后储存到数组并直接返回给用户
|
||
|
||
客户端消息的 ID 必须要同步,这是为了范围读取以前的消息
|
||
|
||
#### 和以前的区别
|
||
|
||
在我的聊天软件第一版、第二版中,均由 PHP 作为后端
|
||
|
||
写入则直接追加,读取整个返回
|
||
|
||
这种做法的最大缺陷是浪费性能
|
||
|
||
我曾想过使用 SQL,不过潜在的风险以及我的技术都能符合我的要求
|
||
|
||
故此,便有了这个方法
|