首页 > 解决方案 > Laravel Cache:如何识别写入数据的内容

问题描述

最近,在我们使用 Laravel 5.4 的一个项目中,我们注意到一些数据正在被缓存/storage/framework/cache/data——我们正在使用文件缓存。缓存中文件的内容如下:1529533237i:1;. 全天在缓存中创建了几个文件,其内容与此类似。创建了如此多的文件,我们必须定期清理此缓存,以免因 inode 用完而遇到磁盘空间问题。

我知道使用文件缓存的替代方法是 Redis 或 Memcache,但问题是,我们不确定缓存的数据是什么,或者项目的哪个组件正在缓存它。我们确实使用了几个外部库,因此它可能是众多库之一,但我们不确定是什么。我已经查看了项目的所有配置文件,但无法识别任何明显控制数据缓存的内容。

是否有任何关于尝试识别哪段代码正在写入这些数据的建议,以便我们可以更好地处理这些数据的缓存,无论它可能是什么?

标签: phplaravelcaching

解决方案


Laravel 有几个在缓存期间调度的事件

创建一个新的监听器来监听Illuminate\Cache\Events\KeyWritten事件。您可以记录回溯以准确查看导致特定项目被缓存的原因。


推荐阅读