设置计数器缓存规模



我的计数器缓存在负载过重的情况下锁定了该行,所以我找到了 wanelo/counter-cache gem,它似乎非常适合我的问题,但我无法设置它,它一定非常简单,但我看不到它。https://github.com/wanelo/counter-cache我希望它使用我已经工作的延迟工作和 Redis。

在我的配置文件中

Counter::Cache.configure do |c|
  c.default_worker_adapter = here??? DelayedJob ??
  c.recalculation_delay    = 5.hours
  c.redis_pool             = Redis.new
  c.counting_data_store    = Counter::Cache::Redis
end

如果我在执行时不把行放c.default_worker_adapter它说 undefined method 'enqueue' for nil:NilClass

知道发生了什么吗?我应该在工作器适配器中放入什么?似乎什么都不起作用。谢谢你的时间

default_worker_adapter

将处理更新的类的名称。在 gem 的 github 页面上给出了一个例子。例如,如果你正在使用sidekiq,你可以创建sidekiq worker class并随心所欲地命名它。在 github 页面上,这个类被称为 CounterWorker,你可以完全按照给定的方式复制它,尽管你可以使用你想要的任何延迟作业框架。从那时起,模型上的任何counter_cache_on定义都将使用该类进行计数器更新。

最新更新