我将文件保存在服务器的FS上,现在我想将其保存在mongodb中(以便于备份和存储)。我想存储最大4-5Mb的文件,并尝试使用Buffer类型的Mongoose保存它们我成功保存并检索了它们,但是当我保存和检索4或5Mb之类的文件时,我注意到性能明显下降。
我的架构:
let fileSchema = new Schema({
name: {type: String, required: true},
_announcement: {type: Schema.Types.ObjectId, ref: 'Announcements'},
data: Buffer,
contentType: String
});
Run Code Online (Sandbox Code Playgroud)
我如何从expressjs服务器检索它们:
let name = encodeURIComponent(file.name);
res.writeHead(200, {
'Content-Type': file.contentType,
'Content-Disposition': 'attachment;filename*=UTF-8\'\'' + name
});
res.write(new Buffer(file.data));
Run Code Online (Sandbox Code Playgroud)
我的问题是,在将它们保存到mongodb中之前,是否应该使用一些诸如'deflate'之类的zlib压缩函数来压缩缓冲区,然后在将其发送到客户端之前解压缩二进制文件?这样会使整个过程更快吗?我错过了什么吗?
我已将 Spring boot 应用程序部署到具有平台的 ELB Corretto 11 running on 64bit Amazon Linux 2/3.0.1。
当我尝试从 AWS 控制台 ( Configuration-> Software) 添加新的环境变量时,Apply更新失败并回滚到之前的配置。
有趣的部分是,当我创建一个全新的环境并上传我的.jar文件并在环境实例化时添加环境变量时,它会起作用(意味着环境变量设置正确)。当我尝试更新环境变量而环境已存在时,就会出现问题。我错过了什么吗?
$ eb setenv我尝试在我的circleci之后使用$ eb deploy,但仍然遇到相同的错误。
我有两个功能。第一个:
public String getWeekDay(int day) {
switch (day) {
case 1:
return "Monday";
case 2:
return "Tuesday";
case 3:
return "Wednesday";
case 4:
return "Thursday";
case 5:
return "Friday";
case 6:
return "Saturday";
case 7:
return "Sunday";
default:
throw new InvalidOperationException("day must be in range 1 to 7");
}
}
Run Code Online (Sandbox Code Playgroud)
第二个:
public String getWeekDay(int day) {
if ((day < 1) || (day > 7)) throw new InvalidOperationException("day must be in range 1 to 7");
String[] days = {"Monday", "Tuesday", "Wednesday", …Run Code Online (Sandbox Code Playgroud)