gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 14:17:42 25 4
gpt4 key购买 nike

我有一个 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 生产'Rails.cache.cleanup'

关于caching - 从 Ruby on Rails 4 上的磁盘缓存中清除过期的缓存条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com