相关疑难解决方法(0)

如何从Rails Observer/Model调用expire_fragment?

我几乎尝试过所有东西,但似乎不可能从模型中使用expire_fragment?我知道你不应该而且它不是非MVC,但肯定有很多方法可以做到.

我在lib/cache_helper.rb中创建了一个带有所有过期助手的模块,每个模块都只是一堆expire_fragment调用.我在/ app/sweepers下设置了所有缓存清理器,并在我的应用程序控制器中有一个"include CacheHelper",因此当通过控制器调用时,应用程序中的缓存可以正常工作.

然后事情是我有一些外部守护进程,特别是一些重复的cron任务,它们调用一个调用某种方法的rake任务.此方法执行一些处理并将条目输入到模型中,之后我需要使缓存过期.

这是最好的方法,因为我无法在模型中指定缓存清理程序.直观的观察者似乎是最好的解决方案,但后来它抱怨expire_fragment未定义等等,我甚至尝试将ActionController缓存类包含在观察者中,但这不起作用.我喜欢有关如何为此创建解决方案的一些想法.谢谢.

ruby memcached caching ruby-on-rails

29
推荐指数
4
解决办法
1万
查看次数

标签 统计

caching ×1

memcached ×1

ruby ×1

ruby-on-rails ×1