我们有一个生产应用程序正在放缓,其中一个问题是文件缓存。我们周期性地看到巨大的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(。一切都很好,所以我们认为一定有一些奇怪的事情,大量额外的数据被错误地存储在缓存文件中。有没有办法看到里面有什么,这样我们就可以调试为什么会发生这种情况?
谢谢你的帮助,kevin
我浏览了rails源代码,下面是的答案
cache_file_path = "tmp/cache/your_cache_file"
cache_entry = Marshal.load(File.read cache_file_path)
cache_entry.value