Rails 4使用Redis和Postgresql进行关注/关注

时间:2015-12-16 11:37:51

标签: ruby-on-rails postgresql ruby-on-rails-4 redis

我想在Rails应用程序中模拟用户之间的关注/关注者,并找到这两个有用的资源:

https://www.railstutorial.org/book/following_users

http://jimneath.org/2011/03/24/using-redis-with-ruby-on-rails.html

使用Redis的好处对我来说很清楚,但我不习惯在postgres之外坚持模型。

它们是否可以一起使用,Redis用于紧固查询,postgres是否可以将数据保留在数据库中,还是无用的重复数据?

例如,使用两者的跟随方法看起来像:

#User.rb

def follow!(user)
  # Save in the DB
  active_relationships.create(followed_id: user.id)

  # Save to Redis
  $redis.multi do
    $redis.sadd(self.redis_key(:following), user.id)
    $redis.sadd(user.redis_key(:followers), self.id)
  end
end

使用所有计数方法取消Redis

# number of users being followed
def following_count
  $redis.scard(self.redis_key(:following))
end

0 个答案:

没有答案