php - Laravel Cache:如何识别写入数据的内容
问题描述
最近,在我们使用 Laravel 5.4 的一个项目中,我们注意到一些数据正在被缓存/storage/framework/cache/data
——我们正在使用文件缓存。缓存中文件的内容如下:1529533237i:1;
. 全天在缓存中创建了几个文件,其内容与此类似。创建了如此多的文件,我们必须定期清理此缓存,以免因 inode 用完而遇到磁盘空间问题。
我知道使用文件缓存的替代方法是 Redis 或 Memcache,但问题是,我们不确定缓存的数据是什么,或者项目的哪个组件正在缓存它。我们确实使用了几个外部库,因此它可能是众多库之一,但我们不确定是什么。我已经查看了项目的所有配置文件,但无法识别任何明显控制数据缓存的内容。
是否有任何关于尝试识别哪段代码正在写入这些数据的建议,以便我们可以更好地处理这些数据的缓存,无论它可能是什么?
解决方案
Laravel 有几个在缓存期间调度的事件。
创建一个新的监听器来监听Illuminate\Cache\Events\KeyWritten
事件。您可以记录回溯以准确查看导致特定项目被缓存的原因。
推荐阅读
- c++ - 条件编译模板中 std::enable_if<> 的六种不同用法
- reactjs - 不能使用
里面 映射数组时[React Leaflet] - android - Room Persistence 库数据库被锁定(代码 5)
- sql - 连续年月总和
- nginx - 来自 chrome 的 net::ERR_HTTP2_PROTOCOL_ERROR 200
- python - Python 使用 Scapy 发送数据包
- java - 在java swing中格式化框架
- node.js - 为什么我通过 api 网关对节点 js lambda 的此申请获得 502?
- javascript - 什么算作查询 DOM?
- performance - .NET Core Web API 中的 BadHttpRequestException 和性能问题