我试图在乘客/铁路生产环境中设置Redis + Sidekiq并且遇到了一些混乱。
服务器上运行着许多小型应用程序。我确信这些应用程序中不止一个会利用 Sidekiq 提供的延迟处理。
我的第一个想法是使用Sidekiq 中的命名空间选项namespace
为每个 Rails 应用程序创建一个。
但后来我注意到了一个databases 16
设置,redis.conf
我想知道它到底做了什么。除了配置中的注释之外,我似乎找不到关于它的文档:
# 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 Cluster 不像单机版 Redis 那样支持多数据库,只有数据库 0,不允许 SELECT。
希望有人可以建议我如何在同一台服务器上运行的各种 Rails 应用程序之间共享 Sidekiq 和 Redis。