繁体   English   中英

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

[英]Is a redis instance can only work for 1 project?

我正在使用带有Redis的Rails。

从Redis的介绍中,我发现了以下信息:

启动redis服务器:

redis-server

使用redis客户端:

> redis-cli
redis> set key value
OK
redis> get key
"value"

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

Redis实例只能用于1个项目吗? 您可以看到,没有“数据库”或“集合”或类似的东西。 如果两个不同的项目使用相同的Redis,则它们可能会将相同的密钥更改为无效值。

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

请记住,redis也有数据库(如果我没记错的话,其中有16个数据库)–它们只是没有命名,而是数字。 因此,例如,如果您使用redis-rb进行连接,则将获得如下代码段:

$redis = Redis.new(:host => 'localhost', :port => 6379, :db => 5)

这将连接到数据库5。我也经常使用它来运行测试,因此我的测试不会干扰开发数据库。

如果在两个或多个应用程序之间共享单个Redis实例(或群集),则可能应该出于观察到的原因而对密钥进行命名空间,以便在这些应用程序之间合理地对其进行分区。 看一下redis-namespace gem,它提供了一个很好的Ruby接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM