无法理解redis如何使用rails

med*_*zid 6 ruby-on-rails redis

我是redis的新手,我发现学习redis的基础非常简单,但是当我试着理解我如何使用它时,它会变成流动,我找不到任何好的tutoriel从头开始解释步骤,因为例如,我找到这样的代码:

class User < ActiveRecord::Base
   # follow a user
   def follow!(user)
     $redis.multi do
       $redis.sadd(self.redis_key(:following), user.id)
       $redis.sadd(user.redis_key(:followers), self.id)
     end
   end

  # unfollow a user
  def unfollow!(user)
    $redis.multi do
      $redis.srem(self.redis_key(:following), user.id)
      $redis.srem(user.redis_key(:followers), self.id)
    end
  end
Run Code Online (Sandbox Code Playgroud)

但是在这个例子中,没有其他例子说明如何使用follow方法,我需要传递给这个方法的对象是什么(这个对象来自关系数据库?或者是什么)等等......

我在搜索中找到的所有示例都是不完整的,当我们决定将它与rails一起使用时,这种情况并不容易!

我还发现redis的使用是在继承ActiveRecord的模型中,我无法理解:如果在大多数情况下使用redis使用关系数据库或单独使用,以及最常用的方式是什么,以及具体如何?

我知道我的问题是巨大的,但我搜索的是如何使用redis和rails,如果你有一个很好的资源,我将非常感激.谢谢

Jes*_*ott 8

没有其他例子说明如何使用follow方法,我需要传递给这个方法的对象是什么(这个对象来自关系数据库?或者是什么)等等......

用户是ActiveRecord对象 - 您系统的用户.

friend = User.find(params[:friend_id])
current_user.follow! friend
Run Code Online (Sandbox Code Playgroud)

通常,Redis用作辅助数据存储区.常规用户数据,客户数据等存储在Postgres或MySQL中,redis特定的数据存储在redis中.

自动完成的RailsCasts 399中,Ryan展示了如何使用Redis仅作为搜索引擎来赞美书店.他使用$redis.zrevrange$redis.zincrby