我正在使用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交互?
答案 0 :(得分: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