AlistGo / AlistGo/alist

本地持久化缓存

Abierto
#7,269 10 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Go
Estrellas
50.2k
Forks
7.9k
Merge medio
7 d 21 h
PR fusionados (30 d)
6

Descripción

### Please make sure of the following things

- [X] I have read the [documentation](https://alist.nn.ci).
- [X] I'm sure there are no duplicate issues or discussions.
- [X] I'm sure this feature is not implemented.
- [X] I'm sure it's a reasonable and popular requirement.

### Description of the feature / 需求描述

感谢Alist,已购桌面版。
原来把数据放在网盘上,本地通过挂载方式访问很流畅。
后来各家网盘由于各种原因限制了qps,导致体验大幅下降。
我用的是eagle来管理图片和视频,这个软件的特点是每个文件生成对应元数据和缩略图,以及单独的文件夹。
在限制qps前这种组织方式没有遇到明显问题,限制qps之后,加载元数据和缩略图非常缓慢,切换文件夹需要等几十秒甚至几分钟。批量修改分类将同时修改上千个文件,在本地固态硬盘上是秒完成的,换成网盘,需要十几分钟。
**现在固态硬盘很快,何不利用固态硬盘,甚至内存来为网盘缓存加速呢?**
建议针对特定目录,可以本地持久化缓存目录信息,这样无需多次请求文件列表。
对元数据,按扩展名和文件大小来缓存到本地,占用空间不大,对访问性能的提升是巨大的。这一步我已尝试可行,就是卡在程序不支持软链接。所以需要让挂载软件来实现缓存。
**这个实现起来估计要写不少代码,如果能够实现,将减少对网盘的访问压力,同时极大改善应用的使用性能**

### Suggested solution / 实现思路

### 1、指定目录的文件列表元数据永久化缓存
①清除缓存
②手动更新缓存
③闲时自动刷新缓存
### 2、指定目录下的特定文件扩展名、特定大小范围的文件缓存(比如缓存.nfo文件,小于1kb的文件)
①清除缓存
②手动更新缓存
③闲时自动刷新缓存
### 3、更改回写
①文件或目录有改动加入修改队列,同步到网盘
②手动回写
### 4、缓存加载到内存,极致提升性能
今年很多笔记本标配32G内存了,拿一百兆出来加速网盘,或者拿个几GB,用来换取体验提升,还是划得来的。

### Additional context / 附件

_No response_

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.