diff --git a/packages/backend/src/config.ts b/packages/backend/src/config.ts index f20093e802..9753b3c6b0 100644 --- a/packages/backend/src/config.ts +++ b/packages/backend/src/config.ts @@ -46,6 +46,7 @@ type Source = { pass: string; }[]; redis: RedisOptionsSource; + redisForDatabaseCache?: RedisOptionsSource; redisForPubsub?: RedisOptionsSource; redisForJobQueue?: RedisOptionsSource; redisForSystemQueue?: RedisOptionsSource; @@ -176,6 +177,7 @@ export type Config = { externalMediaProxyEnabled: boolean; videoThumbnailGenerator: string | null; redis: RedisOptions & RedisOptionsSource; + redisForDatabaseCache: RedisOptions & RedisOptionsSource; redisForPubsub: RedisOptions & RedisOptionsSource; redisForSystemQueue: RedisOptions & RedisOptionsSource; redisForEndedPollNotificationQueue: RedisOptions & RedisOptionsSource; @@ -251,6 +253,7 @@ export function loadConfig(): Config { dbSlaves: config.dbSlaves, meilisearch: config.meilisearch, redis, + redisForDatabaseCache: config.redisForDatabaseCache ? convertRedisOptions(config.redisForDatabaseCache, host) : redis, redisForPubsub: config.redisForPubsub ? convertRedisOptions(config.redisForPubsub, host) : redis, redisForSystemQueue: config.redisForSystemQueue ? convertRedisOptions(config.redisForSystemQueue, host) : redisForJobQueue, redisForEndedPollNotificationQueue: config.redisForEndedPollNotificationQueue ? convertRedisOptions(config.redisForEndedPollNotificationQueue, host) : redisForJobQueue, diff --git a/packages/backend/src/postgres.ts b/packages/backend/src/postgres.ts index a60875cbaa..fa5ce55da3 100644 --- a/packages/backend/src/postgres.ts +++ b/packages/backend/src/postgres.ts @@ -230,12 +230,8 @@ export function createPostgresDataSource(config: Config) { cache: !config.db.disableCache && process.env.NODE_ENV !== 'test' ? { // dbをcloseしても何故かredisのコネクションが内部的に残り続けるようで、テストの際に支障が出るため無効にする(キャッシュも含めてテストしたいため本当は有効にしたいが...) type: 'ioredis', options: { - host: config.redis.host, - port: config.redis.port, - family: config.redis.family ?? 0, - password: config.redis.pass, - keyPrefix: `${config.redis.prefix}:query:`, - db: config.redis.db ?? 0, + ...config.redisForDatabaseCache, + keyPrefix: `${config.redisForDatabaseCache.prefix}:query:`, }, } : false, logging: log,