redis实例只能用于1个项目吗?

Fre*_*ind 1 ruby-on-rails redis

我正在使用带有redis的Rails.

从Redis的介绍中,我发现了这样的信息:

启动redis服务器:

redis-server
Run Code Online (Sandbox Code Playgroud)

使用redis客户端:

> redis-cli
redis> set key value
OK
redis> get key
"value"
Run Code Online (Sandbox Code Playgroud)

从样本中,我有一个问题:

redis实例只能用于1个项目吗?你可以看到,没有"数据库"或"集合"或类似的东西.如果两个不同的项目使用相同的redis,则可能会将相同的键更改为无效值.

那么,我是否需要为不同的Rails项目创建具有不同端口的不同实例?

小智 9

请记住,redis也有数据库(如果我没记错的话,其中有16个) - 它们只是没有命名,它们是数字.例如,如果你正在使用redis-rb连接,你会得到一个这样的代码片段:

$redis = Redis.new(:host => 'localhost', :port => 6379, :db => 5)
Run Code Online (Sandbox Code Playgroud)

这将连接到数据库5.我使用它来运行测试,所以我的测试不会干扰我的开发数据库.