-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor flashcard #6
base: main
Are you sure you want to change the base?
Conversation
直接用 SQLite 的话数据同步可能会有问题,好像不能直接同步 .db 文件;JSON 性能没有 msgpack 好。 |
对了,前期方案整理了下 siyuan-note/siyuan#10471 (comment) |
为什么不能同步db呢?我不是打算储存到temp目录下,我是打算在riff目录下使用 .db 取代 msgpack。 性能上来说也就是序列化这一步吧,我感觉这个操作并不频繁,一点性能问题完全不影响,用json取代msgpack换来的可读性是可以接受的。 不过我还是主要建议使用.db,这样crud操作会变得性能更好、操作更简单。 |
连接 .db 以后文件会被占用吧,如何同步文件? |
嘶,这个问题吗?我只考虑到退出时同步,假如在运行时同步那确实是问题。 不过我感觉在运行时使用db作为crud中介确实是有价值的,不过这样就要改到kernel中实现了。 |
使用 db crud 肯定有价值,只是考虑到数据同步的话工作量比较大,所以目前没有 db 化。我个人建议实现上还是先解决文件同步,后期是否要 db 化可以再讨论,而且 db 化如果不放到已有的 db,关联查询似乎也难以实现,放到现有 db 中的话,就要考虑temp 重建索引相关问题,也就是只能沿用已有的 infras。 |
话说D打算怎么实现数据迁移?还是打算新建一个结构体,跟以往的进行分开处理? |
还没有想好,得讨论一下利弊。目前感觉实现完整的数据迁移更彻底一些,后续不用各种兼容。完整的数据迁移指的是新建结构体,将已有的 msgpack 数据导入,导入要考虑幂等性(因为不同设备版本可能不同,可能存在重复导入的情况,重复导入相同 ID 数据不再处理)。导入完成以后删掉老的 msgpack 文件,完全使用新的数据结构。 另外,只迁移内置的卡包 |
差不多实现了跟以往接口的兼容 |
考虑到需要通过cardSource操作card,感觉把分组信息放在cardsource这里更合适。 |
@88250 大佬,我看闪卡暂停等功能标记了3.2版本,想问下是指进入3.1版本后开始做(3.2作为完成标志),还是说进入3.2版本后才开始做?目前我闪卡已有千张,没有暂停功能着实有点痛苦 |
计划是 3.2 发布
…---Original---
From: ***@***.***>
Date: Tue, Jun 11, 2024 05:11 AM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [siyuan-note/riff] Refactor flashcard (PR #6)
@88250 大佬,我看闪卡暂停等功能标记了3.2版本,想问下是指进入3.1版本后开始做(3.2作为完成标志),还是说进入3.2版本后才开始做?目前我闪卡已有千张,没有暂停功能着实有点痛苦
image.png (view on web)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
好的!多谢大佬
…---Original---
From: ***@***.***>
Date: Tue, Jun 11, 2024 07:29 AM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [siyuan-note/riff] Refactor flashcard (PR #6)
计划是 3.2 发布
---Original---
From: ***@***.***>
Date: Tue, Jun 11, 2024 05:11 AM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [siyuan-note/riff] Refactor flashcard (PR #6)
@88250 大佬,我看闪卡暂停等功能标记了3.2版本,想问下是指进入3.1版本后开始做(3.2作为完成标志),还是说进入3.2版本后才开始做?目前我闪卡已有千张,没有暂停功能着实有点痛苦
image.png (view on web)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
我准备使用 sqlite 储存代替,这是否可以被接受?这样可以简化很多设计的流程,可以大量借鉴 anki 的模式。
如果不行,我下一步就继续使用 json 或 msgpack。话说 cards 为何不直接使用 json?卡组的体积并不算大。
我个人感觉 msgpack 和 sqlite 在二进制等级上不相上下,所以直接使用 sqlite 取代 msgpack 是可取的。