gem 文档没有提供有关缓存机制的任何信息,但查看源代码会告诉您他们正在使用,Rails.cache
因此您可以查看它。
根据您给出的错误,您的 Rails 应用程序似乎使用了:file_store
缓存(这是默认缓存),并且Rails 文档说:
由于缓存会增长直到磁盘已满,建议定期清除旧条目。
但是我发现了一个很久以前就存在的cleanup
方法(我从 Rails 版本 3 到 6 检查)并且似乎知道过期数据,但是有一个错误阻止 Rails 清理已在 Rails 5.2 中修复的过期数据。如果您使用的是 Rails 5.2 和更新版本,请尝试为缓存设置过期时间:
config.cache_store = :file_store, Rails.root.join('tmp', 'cache'), { expires_in: 10.minutes }
请更新缓存路径(第二个参数)并根据expires_in
您的情况调整值。
另一种选择是将Rails 缓存存储更改为Redis(使用redis-rails gem)或Memcached之类的东西。
Redis 将删除过期的键,Memcached 会在达到允许的空间限制时删除最旧的键。