资源管理是指可以将任意文件/目录打包为Golang源码文件,并且编译到可执行文件中,随着可执行文件发布。
资源文件在程序启动时将会自解压释放到内存中,供程序只读访问,可以将它当做基于内存的文件管理器。同时,GoFrame
的资源管理特性也支持将文件/目录打包为独立的二进制资源文件使用。由于资源文件在程序运行时是基于内存的文件操作,没有磁盘IO
的开销,因此其文件操作效率非常高。
使用方式:
import "github.com/gogf/gf/v2/os/gres"
接口文档:
https://pkg.go.dev/github.com/gogf/gf/v2/os/gres
gres资源管理组件具有以下显著特点:
css
/js
等文件可达到50~90%的压缩率。 WebServer
、配置管理、模板引擎模块中。 从Golang v1.16版本开始官方提供了静态文件嵌入的embed.FS
特性,整体底层设计和gres
组件类似,压缩比、执行效率也差不多,只是在使用设计和工程化管理上有比较大的差别。GoFrame
资源管理组件的功能更加丰富,框架的核心组件已经完全对接了gres
资源管理组件,并且在GoFrame
提供的标准的工程化管理下能够做到对开发者无感知地使用资源管理特性,具体可以参考章节 资源管理-最佳实践 。
未来GoFrame
基础框架底层不会考虑内置对embed.FS
组件的支持,embed.FS
与gres
组件可以独立使用互不影响。
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。