【问题标题】:How to set up redis for an API using Ruby and Rack?如何使用 Ruby 和 Rack 为 API 设置 redis?
【发布时间】:2015-10-28 13:11:21
【问题描述】:

我正在使用Grape、Ruby 和 Rack(无框架)构建一个简单的 API。我想使用 redis 来存储 API 正在使用的数据。到目前为止,我已经使用 Grape 定义了一个 Directory 类和一个 DirectoryAPI 类。 Directory 类具有以与 API 完全相同的方式返回 JSON 数据的方法。

我以前从来没有设置过redis,所以我不知道该怎么做。我想要完成的是:

  • 当我运行rackup 时,对redis 进行批量插入,以便有预填充的数据。预填充的数据来自使用我的Directory 类。

  • 让我的 GET 路由返回存储在 redis 中的哈希

  • 让我的 API 的 POST 路由向 redis 添加一个条目

当我运行rackup 时,如何配置redis 以运行和填充?我应该以某种方式在我的config.ru 文件中执行此操作并为redis 定义一个新类吗?如何让 API 类与 redis 交互?

【问题讨论】:

    标签: ruby redis rack grape


    【解决方案1】:

    当我使用 redis 时,我会进行休闲:

    在我的初始化程序文件夹中,我创建了一个文件 redis.rb 并创建了连接:

    `Redis.new(:host => "10.0.1.1", :port => 6380, :db => 15)`
    

    然后我将这个 conn 分配给一个全局变量 $redis,这样我就可以在任何地方访问它。

    那就看你自己了,你可以随心所欲地组织你的代码。

    一个例子:

    Controller A
    def index
      MemoryModel.getAll()
    end
    
    class MemoryModel
    
      def getAll()
        $redis.get("key")
      end
    end
    

    看看redis gem,你可以在那里找到一些例子,还有connection_pool gem

    【讨论】:

      猜你喜欢
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      相关资源
      最近更新 更多