我可以在 rails 中读取 file_store 缓存文件的内容吗?
Posted
技术标签:
【中文标题】我可以在 rails 中读取 file_store 缓存文件的内容吗?【英文标题】:can i read the contents of file_store cache file in rails? 【发布时间】:2021-02-06 23:13:54 【问题描述】:我们有一个生产应用程序正在变慢,其中一个嫌疑人是文件缓存。我们会定期看到巨大的 file_store 缓存文件,例如:
11044573 ./21D/AE1/menu_structure_5cb9b70e11e9b84ac9fa8412_super_admin
最左边的数字是块大小。如果我们清除缓存并且应用重新生成相同的文件,它会更小:
-rw-r--r-- 1 deploy deploy 19K Oct 23 17:27 ./21D/AE1/menu_structure_5cb9b70e11e9b84ac9fa8412_super_admin
(它们是不同的格式 b/c 它们是用不同的命令发现的,但第一个是巨大的,第二个是 18K)。一切正常,所以我们认为一定有一些奇怪的事情,大量的额外数据有缺陷地存储在缓存文件中。有没有办法查看里面有什么,以便我们可以调试为什么会发生这种情况?
感谢您的帮助, 凯文
【问题讨论】:
【参考方案1】:我挖掘了 rails 源代码,这就是答案
cache_file_path = "tmp/cache/your_cache_file"
cache_entry = Marshal.load(File.read cache_file_path)
cache_entry.value
【讨论】:
以上是关于我可以在 rails 中读取 file_store 缓存文件的内容吗?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以控制 Rails 读取 .CSS 文件的顺序,还是按惯例固定?
Rails 3 应用程序中的 Sass 导入错误 - “找不到或无法读取要导入的文件:指南针”
凭证文件未在 Amazon Linux 上读取 Rails 6.1