加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

缓存 – 从Ruby on Rails 4上的磁盘缓存中清除过期的缓存条目

发布时间:2020-12-17 03:49:28 所属栏目:百科 来源:网络整理
导读:我有一个rails应用程序,它使用磁盘缓存为现在默认的俄罗斯娃娃缓存.我没有使缓存失效并且我的缓存策略符合我的要求,但是我必须找到一种从磁盘中删除过期条目的正确方法.据记录,磁盘缓存一直在增长,直到它被清除或磁盘已满. 我知道我可以执行rake tmp:cache
我有一个rails应用程序,它使用磁盘缓存为现在默认的俄罗斯娃娃缓存.我没有使缓存失效并且我的缓存策略符合我的要求,但是我必须找到一种从磁盘中删除过期条目的正确方法.据记录,磁盘缓存一直在增长,直到它被清除或磁盘已满.

我知道我可以执行rake tmp:cache:clear但删除整个缓存,而不仅仅是过时的项目!我正在寻找一种更好的方法,它将保留新的条目,并从磁盘中删除过时的缓存条目.我已经使用shell脚本删除了最后一天没有访问过的条目,但这并不能保证我只删除过时的条目并保留所有新条目.

我知道我可以切换到memcached或redis,但我不愿意,因为磁盘缓存在没有资源开销和支持另一台服务器(服务器进程服务器,而不是实际硬件/虚拟服务器)的情况下做得很好机).

使用磁盘缓存时如何清除过时的缓存条目?有没有比使用文件’atime / mtime更好的方法?

解决方法

根据文档,您可以使用#cleanup
http://api.rubyonrails.org/classes/ActiveSupport/Cache/FileStore.html#method-i-cleanup

例如,您可以安排一个cron作业在主机上定期运行它./script/rails runner -e production’Rails.cache.cleanup’

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读