6

我是redis新手,我发现学习 redis 基础知识非常容易,但是当我尝试了解如何将它与 rails 一起使用时,它变得流畅,我找不到任何好的教程来解释从头开始的步骤,因为例如我找到这样的代码:

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

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

我在搜索中找到的所有示例都不完整,当我们决定将它与 rails 一起使用时,这个 redis redis 一点也不容易!

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

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

4

1 回答 1

8

没有其他示例显示如何使用跟随方法,我需要传递给这个方法的对象是什么(这个对象是来自关系数据库吗?还是什么)等等......

用户是 ActiveRecord 对象——您系统的用户。

friend = User.find(params[:friend_id])
current_user.follow! friend

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

RailsCasts 399 on autocomplete中,Ryan 展示了如何使用 Redis 将书店仅作为搜索引擎加以补充。他使用$redis.zrevrange$redis.zincrby

于 2013-08-25T15:30:37.583 回答