Dotenvx的软连接的内存占用情况
· 2 min read
dotenvx link <command>命令可以创建命令软连接,这个是对原有命令的封装。当你执行软连接命令式,其实是由Dotenvx命令行来执行的,
然后会加载配置文件,然后再执行原命令,这样就完成了对原命令的.env配置集成。
在日常中,只要涉及到诸如数据库的场景,数据库的链接信息已经在.env或者application.properties中配置好啦,如MySQL,
我通常会执行dotenvx link bin/mysql创建对应的dotenvx软连接,然后执行./bin/mysql,
就可以登录配置项指定的MySQL数据库了,不需要输入任何账户密码,非常方便。
同时也不用担心密码泄露的问题,之前都是保存在某一justfile中,密码也是直接写到文件中的,你当然可以不写,
但是公司内部的防弱密码政策,完全让我记不住这些密码,手动输入非常麻烦。
那有同学会问,使用这种软连接方式会不会增加额外的内存占用呢?效率高吗?这里给大家做一个简单的对比。
执行分为以下三种方式:
- 直接mysql命令登录MySQL,mysql命令行为软连接
- 在
justfile中执行mysql命令登录MySQL - 通过
dotenvx link bin/mysql创建软连接,然后执行软连接登录MySQL
最后各个方式启动后占用的内存情况如下:

通过上述情况,我们可以得出以下一些结论:
- 软连接方式启动MySQL命令行,好像比通过绝对路径方式启动MySQL占用的内存还要多一些
- justfile方式启动MySQL命令行,占用的内存比dotenvx稍微低一些,这个可以理解,Dotenvx要进行对应的解密操作,占用的内存更多一些
- dotenvx采用绝对路径方式启动MySQL,占用的内存要比通过软连接方式启动的MySQL命令行低一些
总体下来,使用dotenvx link方式启动MySQL命令行,占用的内存并没有明显增加,只增加了一点点,完全可以接受。