如何将文件临时写入文件系统但实际上在内存中保存?

3
我有一个服务器,接收HTTP请求中的文件。我想让另一个进程能够使用该文件,但是我不想写入磁盘以避免I/O开销。
在Linux中是否有一些目录实际上被映射到RAM,这样我启动的进程就可以像普通文件一样访问路径?
我知道如果我将文件写入普通文件,那么由于缓存的原因,该文件可能不会真正地被刷新到磁盘,但这不是我想要的。

还有像 Redis 这样的缓存库经常用于解决这种类型的问题。 - Dan
IPC。例如:共享内存,套接字。 - Karoly Horvath
@KarolyHorvath 我无法控制其他程序,只能使用命令行API作为参数接收文件路径。 - Martin Volpe
https://en.wikipedia.org/wiki/Named_pipe - Karoly Horvath
3个回答

3

鉴于 /tmp 在启动时会被清空,因此不一定会如此。虽然我同意,但是没有人应该依赖 /tmp 中的内容能够幸存下来。 - Andrew Henle

1
您可以按照这些说明的步骤创建一个RAM磁盘。
mkdir /mnt/ramdisk
mount -t ramfs -o size=512m ramfs /mnt/ramdisk

0

如果您想确保特定文件在RAM中,您可以使用vmtouch(https://hoytech.com/vmtouch/)。但是,该文件将被写入磁盘。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接