如何让Apache在内存中缓存视频文件?

How to get Apache to cache video files in memory?

我正在使用 XAMPP / Apache 托管 HLS 流 ,这基本上意味着我的文档根目录中有一个文件夹,其中包含几个递增编号的 10 秒视频文件。

每隔 10 秒,一个新的视频文件将保存到文件夹中,文件夹中最旧的视频文件将被删除。

除了这些视频文件,文档根目录还包含一些其他文件,例如PHP脚本和播放列表文件。

我的服务器有足够的 RAM 和相当快的 CPU,但使用的是相对较慢的硬盘。

考虑到不断下载这些视频文件很可能会影响服务器性能,将这些文件缓存在内存中似乎是个好主意。


如果 Apache 将用户视频播放器下载的所有视频文件(扩展名为 .ts)保留在内存中大约 60 秒,下一个用户就可以下载该文件很多快点。 Apache 可以依赖文件在第一次打开后不会更改,并且依赖于文件在 60 秒后不再被请求的事实。

所有其他文件(不一定)必须缓存,因为它们相当小并且会定期修改。

有人能指导我如何开始吗?

现代操作系统已经将访问的文件缓存在内存中。整个过程由内核自动管理

Apache 内存缓存对您没有帮助,因为它在启动时需要所有文件。

如果您想对缓存进行一定程度的控制,您可以使用 vmtouch. Check the manual