【发布时间】:2021-12-14 20:44:29
【问题描述】:
我只是想知道
什么是存储价值的最佳实践
缓存在文件系统中还是内存中 性能方面
我不想使用 Redis 缓存或任何软件
只想使用(内存缓存或文件缓存)来缓存so文件一段时间
【问题讨论】:
我只是想知道
什么是存储价值的最佳实践
缓存在文件系统中还是内存中 性能方面
我不想使用 Redis 缓存或任何软件
只想使用(内存缓存或文件缓存)来缓存so文件一段时间
【问题讨论】:
Redis、memcache、memcached 只是访问内存块的包装器或助手(因此您不必手动映射内存块)
话虽如此,要回答您的问题,这取决于您使用的操作系统,假设您正在运行 linux,默认情况下,当您打开一个使用内核 filesystem_cache 的文件时,您可以使用它并且只是使用文件缓存,对于大多数应用程序来说这是最好的,因为即使在内存转储或系统重新启动时它也很可靠。
内存缓存速度最快,并发性最好,但不能依赖。
让我们看一个例子 如果您的应用程序每秒调用 100 次
当请求没有被缓存时,生成/服务请求需要 10 秒
这意味着您需要支持在请求所需的 10 秒内打开 1000 个线程,此外您将处理相同的缓存 1000 次。除非您可以设置一个标志来让其他进程知道您已经在生成该数据并等待。
根据这种情况,您可以有一个每天生成该文件的流程。
如果您使用文件缓存,如果系统转储内存或其他任何东西,您将是安全的,因为您的文件仍然存在。
如果您使用内存缓存,您将遇到麻烦,因为您将在运行中或手动生成文件,无论哪种方式,您都有至少 10 秒的停机时间。
这只是一个例子,您的流程可能完全不同。
评论如果您有任何疑问,请尝试扩展(:
【讨论】: