我正在尝试在Passenger/Rails生产环境中设置Redis + Sidekiq,并遇到了一些困惑。服务器上有许多规模较小的应用程序,我确信其中不止一个应用程序将利用Sidekiq提供的延迟处理功能。我的第一个想法是使用Sidekiq中的命名空间选项为每个Rails应用程序创建一个命名空间。但是我注意到redis.conf中有一个
所以,想知道默认/示例的16个“数据库”是否意味着我可以将DB0用于一个应用程序,将DB1用于另一个应用程序?!?我不认为这种假设是正确的,但我除了以下信息外找不到更多信息:
Redis集群不支持像独立版Redis那样的多个数据库,只有一个数据库0,不允许使用SELECT。
希望有人能告诉我如何在同一服务器上运行的各种Rails应用程序之间共享Sidekiq和Redis。
databases 16
设置,我想知道它究竟是做什么的。除了配置文件中的注释外,我似乎找不到关于它的文档:# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
所以,想知道默认/示例的16个“数据库”是否意味着我可以将DB0用于一个应用程序,将DB1用于另一个应用程序?!?我不认为这种假设是正确的,但我除了以下信息外找不到更多信息:
Redis集群不支持像独立版Redis那样的多个数据库,只有一个数据库0,不允许使用SELECT。
希望有人能告诉我如何在同一服务器上运行的各种Rails应用程序之间共享Sidekiq和Redis。
app_num = ENV ['REDIS_DB_NUM'] || 0
。 - asgeo1