Go 的文件系统抽象 Afero

Afero 详细介绍

Afero 是一个文件系统框架,提供一个简单、统一和通用的 API 和任何文件系统进行交互,作为抽象层还提供了界面、类型和方法。Afero 的界面十分简洁,设计简单,舍弃了不必要的构造函数和初始化方法。

Afero 作为一个库还提供了一组可交互操作的后台文件系统,这样在与 Afero 协作时,还可以保留 os 和 ioutil 软件包的功能和好处。

相比单独使用 os 软件包,Afero 提供了显著的性能提升,尤其是创建 mock 和测试文件系统的能力,无需依赖于磁盘。

特性:

一个单独的 API 用于访问各类文件系统
多种文件系统类型之间可交互互操作
一组接口,加强后端之间的交互操作性
一个原子的跨平台存储备份文件系统

支持由不同的文件系统组成复合文件系统 (见 httpFs)

从 o, ioutil & hugo 移植一组实用函数

文章转载自 开源中国社区[https://www.oschina.net]

时间: 2024-11-03 06:17:37

Go 的文件系统抽象 Afero的相关文章

Linux内核剖析 之 历史和体系结构分析

Linux 内核剖析 之 历史和体系结构分析       Linux 内核是一个庞大而复杂的操作系统的核心,不过尽管庞大,但是却采用子系统和分层的概念很好地进行了组织.在本文中,您将探索 Linux 内核的总体结构,并学习一些主要的子系统和核心接口.您还可以通过其他 IBM 文章的链接更深入地进行学习.       由于本文的目标是对 Linux 内核进行介绍并探索其体系结构和主要组件,因此首先回顾一下 Linux 的简短历史,然后从较高的层次审视 Linux 内核的体系结构,最后介绍它的主要子

Hadoop+Spark+MongoDB+MySQL+C#大数据开发项目最佳实践

随着IT技术的飞速发展,各行各业都已在广泛尝试使用大数据技术提供更稳健和优质的服务.目前,医疗IT系统收集了大量极具价值的数据,但这些历史医疗数据并没有发挥出其应有的价值.为此,本文拟利用医院现有的历史数据,挖掘出有价值的基于统计学的医学规则.知识,并基于这些信息构建专业的临床知识库,提供诊断.处方.用药推荐功能,基于强大的关联推荐能力,极大地提高医疗服务质量,减轻医疗人员的工作强度.   二.Hadoop&Spark  目前大数据处理领域的框架有很多.   从计算的角度上看,主要有MapRed

PHP 资源备忘

Awesome PHP 一个PHP资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等 贡献 详细内容请查看贡献 和 代码管理. 目录 Awesome PHP 依赖管理 Dependency Management 其他的依赖管理 Dependency Management Extras 框架 Frameworks 其他框架 Framework Extras 框架组件 Components 微型框架 Micro Frameworks

Hadoop+Spark 大数据开发项目最佳实践

随着IT技术的飞速发展,各行各业都已在广泛尝试使用大数据技术提供更稳健和优质的服务.目前,医疗IT系统收集了大量极具价值的数据,但这些历史医疗数据并没有发挥出其应有的价值.为此 ,本文拟利用医院现有的历史数据,挖掘出有价值的基于统计学的医学规则.知识,并 基于这些信息构建专业的临床知识库,提供诊断.处方.用药推荐功能,基于强大的关联推荐能力,极大地提高医疗服务质量,减轻医疗人员的工作强度. 二.Hadoop&Spark 目前大数据处理领域的框架有很多. 从计算的角度上看,主要有MapReduce

阿里内核月报2017年02月

The future of the page cache 持久化内存用得越来越多, 促使了内核的一系列变更, 内核是否还真的需要页面缓存呢? 在2017 linux.conf.au会上, Matthew Wilcox先是纠正了数年前的一个错误,然后表示, 我们不仅需要页面缓存,还要将他的作用将进一步得到提升. 他从他作为微软员工的时候开始讲起,以前他以为不会提及这个. 然后进入主题,内容如下, 计算机就是缓存的世界.只要缓存都命中,他的新电脑每秒可以执行100亿条指令.但是内存每秒只能跑5亿3千

Linux 内核剖析

    由于本文的目标是对 Linux 内核进行介绍并探索其体系结构和主要组件,因此首先回顾一下 Linux 的简短历史,然后从较高的层次审视 Linux 内核的体系结构,最后介绍它的主要子系统.Linux 内核具有超过 600 万行的代码,因此本文不可能进行完整的介绍.请使用指向其他内容的链接进一步学习. Linux 的简短历史     尽管 Linux 绝对是最流行的开源操作系统,但是相对于其他操作系统的漫长历史来说,Linux 的历史非常短暂.在计算机出现早期,程序员是使用硬件语言在裸硬件

OSS社区工具与插件全新升级

为了方便用户更高效的使用OSS,我们推出了第一批社区插件与工具.该批插件是开源社区广泛应用的平台.框架或工具.如果您有新的需求请在评论中回复,OSS会根据您的需求持续支持更多插件和工具. 社区 更新时间 提供商 简介 OSS插件链接 Hadoop 2017-07-07 Apache Hadoop 3.0.0集成了OSS存储模块,无缝支持OSS作为文件存储系统 Hadoop on OSS Alluxio 2017-06-12 Alluxio Alluxio集成了OSS的实现,原生支持OSS作为底层

内核月报201702

Upstream 4.10-rc7 文章来源 *LWN 文章摘要 The future of the page cache *https://lwn.net/Articles/712467/ 齐江 十刀 持久化内存用得越来越多, 促使了内核的一系列变更, 内核是否还真的需要页面缓存呢? 在2017 linux.conf.au会上, Matthew Wilcox先是纠正了数年前的一个错误,然后表示, 我们不仅需要页面缓存,还要将他的作用将进一步得到提升. 他从他作为微软员工的时候开始讲起,以前他以

大数据开发之深入HDFS

本文节选于清华大学出版社推出的<Hadoop权威指南>一书,作者为Tom White,译者是华东师范大学数据科学与工程学院. 下文包括了第三章的所有内容: 3.1 HDFS的设计 3.2 HDFS的概念 3.3 命令行接口 3.4 Hadoop文件系统 3.5 Java接口 3.6 数据流 3.7 通过Flume和Sqoop导入数据 3.8 通过distcp并行复制 3.9 Hadoop存档 当数据集的大小超过一台独立的物理计算机的存储能力时,就有必要对它进行分区(partition)并存储到