建议考虑一下本地资源存储时分一下文件夹(即 assets 下再进行细分)

本贴最后更新于 595 天前,其中的信息可能已经渤澥桑田

建议考虑一下本地资源存储时分一下文件夹(即 assets 下再进行细分)。因为本人经常收藏网上的文章(文章非常多了)。导致在 assets 下大大小小的资源也有几万个,Windows 下打开该文件夹就会非常卡。

希望可以尽快跟进,谢谢 👍

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22351 引用 • 89433 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Kahle
    作者

    看了一下没有明确的解决方法(最少固态硬盘这个肯定不行,Windows 下数据数量一多还是会有问题的。)。 大致都还是手动解决,手动设置图片的相对路径把(这个对我来说不可能每次剪藏文章都手动给几十张图都手动设置一下)。

    最好还是有一个地方可以设置规则,默认按照一定的文件夹设置规则。

    1 回复
  • 用笔记本区分应该没问题吧?比如一年用一个剪藏笔记本,每个笔记本下面都有 assets。

    按照某种规则设置 assets 文件夹这个不会考虑的,这种设计有很多缺陷,所以一开始我们就否定了这样设计,进而采用平铺的方式。

    2 回复
  • Kahle
    作者

    原来你就是开发思源笔记的大佬呀。👍

    至于你说的这个问题。我觉得可能得考虑一下管理上的问题。 这个年代呀,信息大爆炸,并且所谓的数字花园,一定是会长时间用下去的。

    那么按照笔记本进行区分,会不会极有可能光剪藏的就一年一本。再加上零零碎碎的笔记本,可能几年下来,极有可能出现 20 -30 个笔记本,那么统合这些数据就很重要了。

    而且我个人觉得,笔记类,可能是一种大而全的记录工具,里面的数据通过不同的目录进行区分的(多个目录,多级目录)。如果是像语雀这种,确实可以一个方向一个知识库。我目前自己的思路就是 一个一级目录,自己的个人生活。 一个一级目录,工作相关的。一个一级目录,剪藏相关的。等。下面的二级目录就是各种再一级的分类。

    并且我觉得也得考虑一个问题。假如这个人这个软件用了十年。文章数可能几十万(十年,算上剪藏应该有可能)。再加上各种图片,各种附件,百万还是极有可能的。并且附件有时候不仅仅是图片,各类安装包我也链接过的(毕竟本地最靠谱),各种网站链接总是有失效的可能的。

    基于这个场景,是不是可以考虑一下如何在长时间的范围内,可以把数据存储的更多,更稳。这个时候,就得考虑是不是给这类玩家,可以提供更高级的玩法?当到了这个量级,应该是基于 Sqlite 的把?全文搜索就会有一定的性能瓶颈了。并且因为可能附加各种比较大的附件,data 目录也极有可能几百 G(确实有点夸张,但是我这些年的照片,视频,陆陆续续也有 100 多 G 了,如果说类似于 要把照片,视频嵌入到 笔记中,用作“日志”之类的,还是有可能的)。并且对于数据同步,是否也就得考虑一种其他方案了。(因为我个人找基于本地存储的笔记类软件,就是为了保障基础的原数据都可以在自己硬盘上,即使数据量很大了,搜索这种都可以基于原数据进行优化的,比如接入 Lucene 。但原数据不能保障存储好,不能适应未来的大数据量,还是比较麻烦的)

    或者可以考虑把存储附件这块的逻辑抽象出来,提供方便的可扩展的途径,然后让网友们去开发也可以。 (不过最好有个开发文档)

    而且不同的人,使用的方式也不同。如果可以,最好提供一种灵活可配置的方法(即使写配置文件也行)。

    1 回复
  • Kahle
    作者

    而且平铺除非走对象存储(OSS、OBS 之类的),不然永远都是可能会出现单目录文件过多而导致的各种问题的。轻度玩家无所谓的,到不了那个程度。但是作为可能的重度玩家,不得不考虑。

    至于多笔记本,我至今还是单笔记本。 对我来说未来最多也就两个笔记本,一个个人的,一个 剪藏的。

  • 感谢分享你的观点,思源笔记是完全开源的,也许可以试下自己改造。

    1 回复
  • Kahle
    作者

    看了,不擅长 TypeScript 😭 。 可能会考虑 找个博客系统来 承载 最终的数据把。目前还没想好。博客系统有博客系统的问题(最少绝对路径和域名导致的迁移太可怕了)。自己开发又没有太多的时间。

  • drawone

    或许可以考虑换个文件资源管理器,以下将近十万个文件,机械硬盘,两秒打开,好的固态硬盘只会更快。

    image.png

    我用的是 Directory Opus,还有方便的类型筛选等许多功能。

    1 回复
  • Kahle
    作者

    那如果百万呢? 甚至几百万呢? 甚至有可能千万呢? 尽管未来 10 年,20 年 会发展成怎么样我们不清楚。 但最少要以现在的认知,尽可能兼容的保存 10 年、20 年的数据 (也许 30 年, 40 年 都可能)(尽可能兼容是为了 万一数据量到达一定程度,可以走 OSS / 自建 nas 等等挂载到 本地来存储数据),最好的还是 分文件夹。

    现在已经切回 Typora + 坚果云 的形式了。云笔记走的是 语雀。 其实恕我直言,可能思源笔记的方向不同吧,我觉得最优的离线笔记,最重要的是设计好 底层存储,尽可能兼容,并且可扩展(可长期存储,并且可以随时切换成别的软件,不过话说思源笔记的导出还是不错的),在此基础上拓展出各种功能。当然可能是我不懂思源笔记的考虑吧。

    1 回复
  • 冒昧问一下,你是怎么管理这么多数据的啊?我也收藏了很多网上的文章,但是经常收藏了就忘了。

    1 回复
  • 那语雀的资源怎么分呢?其实作者也说过了,这种设计是考虑到性能问题。如果非要离线管理资源,那暂时还是建议用其他软件了

    1 回复
  • Kahle
    作者

    我现在准备 核心的是 Typora + 坚果云 。哦,还有个神器,Web Clipper,因为我是长期电脑用户,不管微信公众号文章,还是知乎等,都是可以剪藏成 md 数据的(可以直接粘贴到 Typora)。

    Typora 配置“复制图片到 ./${filename}.assets 文件夹”,保障 md 文件和资源文件夹在同级(理论上这种目录格式 上百 G 都不成问题的)。

    如果 哪天 Typora 不能用了,替代品还有 vscode 和 MarkText 。

    云笔记走的语雀,之前有道云笔记也在用。 感觉语雀的导入(特备是 word 导入)还有编辑器非常好用。语雀上面只能放一些不敏感的东西,因为它会有“审核”的。但是作为多端日常随记够用了(对我来说只要保障好本地笔记的记录就好了,语雀上主要资源收集为主)。

  • Kahle
    作者

    语雀走的对象存储。

    给定一个确定的 URI (比如 /a/b/c/test.jpg),理论上只有 系统磁盘 IO 读取的性能。 麻烦的是代码实现,和资源文件管理。

    每个人都有每个人的想法,反正我是不习惯 一个文件夹的(很容易 GG,可能是被国内开发环境影响的吧)。

  • RenaEmiya

    允许用 url 的话。。现在就可以实现啊。。

    思源笔记插入本地文件链接 - by 浅沧 - 动作信息 - Quicker

    思源笔记插入本地文件链接 - by 用户233818825591209 - 动作信息 - Quicker

    SY-link - by 卍 - 动作信息 - Quicker

    这些放在系统任意位置都行

    如果不用


    (我觉得也没必要为 10 年后的事情焦虑。。10 年后的读写性能和现在也不是一个量级的)

    1 操作
    RenaEmiya 在 2023-04-10 20:58:14 更新了该回帖
请输入回帖内容 ...

推荐标签 标签

  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 72 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 26 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 664 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    26 引用 • 84 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 40 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 364 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 18 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 488 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    36 引用 • 37 回帖 • 529 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 334 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 9 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 471 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 4 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 654 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 599 回帖
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 453 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 43 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 536 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 1 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 154 关注