php 缓存 laravel(文件和内存)性能

php cache laravel (file & memory) performance

我只是想知道
什么是存储价值的最佳实践
在文件系统或内存中缓存 在性能方面

我不想使用 Redis 缓存或任何软件
只想使用(内存缓存或文件缓存)来缓存这样的文件一段时间

Redis、memcache、memcached 只是访问内存块的包装器或助手(因此您不必手动映射内存块)

话虽这么说,但要回答您的问题,它取决于您使用的 OS,假设您是 运行 linux,默认情况下,当您打开文件时,它会生成使用内核 filesystem_cache,您可以利用它并只使用文件缓存,对于大多数应用程序来说,这是最好的,因为即使在内存转储或系统重新启动时它也是可靠的。

内存缓存最快,并发性最好,但不能依赖。

让我们看一个例子 如果您的申请获得 100 calls/second

请求未缓存时,generate/serve请求需要10秒

这意味着您需要支持在请求所需的 10 秒内打开 1000 个线程,除此之外您将处理相同的缓存 1000 次。除非你可以设置一个标志让其他进程知道你已经在生成该数据并等待。

基于这种情况,您可以有一个每天生成该文件的进程。

如果您使用文件缓存,那么如果系统转储内存或任何东西,您将是安全的,因为您的文件仍然存在。

如果你使用内存缓存,你将遇到麻烦,因为你将在运行中或手动生成文件,无论哪种方式,你都会有至少 10 秒的停机时间。

这只是一个示例,您的流程可能完全不同。

评论,如果你有任何疑问我会尝试扩展(: