Rails Redis Cache 在方法外存储空信息

问题描述

我的 user.rb(模型)有以下实例方法:

  def points_last_seven_days
    last_seven_days_hash_raw = self.reports.group_by_day(series: true) { |r| r.created_at }
    out = {}
    last_seven_days_hash_raw.each do |day,reports|
      out[day.to_s] = reports.last.bullets
    end
    out
  end

当我运行 User.first.points_last_seven_days 时一切正常,正如预期的那样,我得到了一个包含数据的哈希值。

现在是棘手的部分。 我有一个缓存模块将用户加载到 redis 中。

为此我使用,其中包括:

    def make_cacheable_strings
      output_array = []
      get_users_for_status.each do |user|
        output_array << user.to_json(methods: USER_CACHED_METHODS)
      end
      output_array
    end

我的USER_CACHED_METHODS如下:

  USER_CACHED_METHODS = [
    ...,:points_last_seven_days
  ]

重点是:User.last.method_name = 正确的数据
CachedUser["method_name"] ( json redis ) = {} // 空哈希...

发生了什么?
谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)