我试图在旅客/ Rails生产环境中设置Redis + Sidekiq并且遇到了一些混淆。在生产中配置Redis + Sidekiq
服务器上运行着许多小应用程序。我确定这些应用程序中有不止一个会利用Sidekiq提供的延迟处理。
我的第一个想法是使用namespace option in Sidekiq为每个Rails应用程序创建一个namespace
。
但后来我注意到一个databases 16
设置在redis.conf
,我想知道那是什么,确切地说。我似乎无法找到比在config评论其他它文件:
# 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的告诉我。
请原谅我的无知,但为什么乘客/独角兽会被卷入? (FWIW - 我的生产环境使用Passenger) – Meltemi
如果您查看我链接的文档,您需要将一个块添加到Unicorn中的after_fork回调中。我不知道是否有相当于Passenger的存在。 –