ruby-on-rails - 无法理解 redis 如何与 rails 一起工作

标签 ruby-on-rails redis

我是 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 一起使用时,这个 rend redis 根本不容易!

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

我知道我的问题很大,但我搜索的是如何将 redis 和 rails 一起使用,另外,如果您能为我提供好的资源,我将不胜感激。谢谢你

最佳答案

no other example show how to use follow method, what is the object i need pass to this method (is this object from a relational database ? or what ) etc ...

用户是 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

关于ruby-on-rails - 无法理解 redis 如何与 rails 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18430552/

相关文章:

ruby-on-rails - 带有包含斜杠 (/) 的参数的 Rails 路由

javascript - 外部 gem 的 Assets 管道编码问题(UTF-8 与 ASCII-8BIT)

redis - 如何引入 Redis 只是为了缓存 no CRUD

django - 如何使用redis数据库在django中实现一致性哈希?

redis - 使用 Jredisearch 创建索引时添加前缀

ruby-on-rails - 阿拉伯 Prawn gem

ruby-on-rails - 在 Heroku 上构建后运行 Ruby 脚本

ruby-on-rails - 如何在 Rails 3 中的 Controller 之外渲染模板?

redis - redis中是否有一个关键字的作用类似于SQL中的WHERE子句?

Redis - 是否有可能以高效的方式从一个键中获取所有值?