summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2022-06-24 19:22:19 +0900
committerGitHub <noreply@github.com>2022-06-24 19:22:19 +0900
commit6f8e3fe36633836d36c5447d78636f370b36cd84 (patch)
tree30a7add8183af548da5ef4ae88b43df271ba5f21 /packages/backend/src
parentfix(client): ask to log in for poll vote (#8883) (diff)
downloadmisskey-6f8e3fe36633836d36c5447d78636f370b36cd84.tar.gz
misskey-6f8e3fe36633836d36c5447d78636f370b36cd84.tar.bz2
misskey-6f8e3fe36633836d36c5447d78636f370b36cd84.zip
enhance: Redisをioredisに統一してIPv6サポート (#8869)
* Use ioredis, Supports IPv6 host https://github.com/misskey-dev/misskey/issues/8862 * Fix import * order * a * i * fix * flushdb * family * CHANGELOG * redis_version Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/config/types.ts1
-rw-r--r--packages/backend/src/db/postgre.ts7
-rw-r--r--packages/backend/src/db/redis.ts19
-rw-r--r--packages/backend/src/queue/initialize.ts1
-rw-r--r--packages/backend/src/server/api/endpoints/admin/server-info.ts6
5 files changed, 20 insertions, 14 deletions
diff --git a/packages/backend/src/config/types.ts b/packages/backend/src/config/types.ts
index 948545db7a..78510c8377 100644
--- a/packages/backend/src/config/types.ts
+++ b/packages/backend/src/config/types.ts
@@ -19,6 +19,7 @@ export type Source = {
redis: {
host: string;
port: number;
+ family?: number;
pass: string;
db?: number;
prefix?: string;
diff --git a/packages/backend/src/db/postgre.ts b/packages/backend/src/db/postgre.ts
index 298f6713ea..904bbb8b7c 100644
--- a/packages/backend/src/db/postgre.ts
+++ b/packages/backend/src/db/postgre.ts
@@ -192,12 +192,13 @@ export const db = new DataSource({
synchronize: process.env.NODE_ENV === 'test',
dropSchema: process.env.NODE_ENV === 'test',
cache: !config.db.disableCache ? {
- type: 'redis',
+ type: 'ioredis',
options: {
host: config.redis.host,
port: config.redis.port,
+ family: config.redis.family == null ? 0 : config.redis.family,
password: config.redis.pass,
- prefix: `${config.redis.prefix}:query:`,
+ keyPrefix: `${config.redis.prefix}:query:`,
db: config.redis.db || 0,
},
} : false,
@@ -226,7 +227,7 @@ export async function initDb(force = false) {
export async function resetDb() {
const reset = async () => {
- await redisClient.FLUSHDB();
+ await redisClient.flushdb();
const tables = await db.query(`SELECT relname AS "table"
FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
diff --git a/packages/backend/src/db/redis.ts b/packages/backend/src/db/redis.ts
index 9346041456..49f5bb2ba8 100644
--- a/packages/backend/src/db/redis.ts
+++ b/packages/backend/src/db/redis.ts
@@ -1,16 +1,15 @@
-import * as redis from 'redis';
+import Redis from 'ioredis';
import config from '@/config/index.js';
export function createConnection() {
- return redis.createClient(
- config.redis.port,
- config.redis.host,
- {
- password: config.redis.pass,
- prefix: config.redis.prefix,
- db: config.redis.db || 0,
- }
- );
+ return new Redis({
+ port: config.redis.port,
+ host: config.redis.host,
+ family: config.redis.family == null ? 0 : config.redis.family,
+ password: config.redis.pass,
+ keyPrefix: `${config.redis.prefix}:`,
+ db: config.redis.db || 0,
+ });
}
export const subsdcriber = createConnection();
diff --git a/packages/backend/src/queue/initialize.ts b/packages/backend/src/queue/initialize.ts
index 1db118ca9f..eef4080af3 100644
--- a/packages/backend/src/queue/initialize.ts
+++ b/packages/backend/src/queue/initialize.ts
@@ -6,6 +6,7 @@ export function initialize<T>(name: string, limitPerSec = -1) {
redis: {
port: config.redis.port,
host: config.redis.host,
+ family: config.redis.family == null ? 0 : config.redis.family,
password: config.redis.pass,
db: config.redis.db || 0,
},
diff --git a/packages/backend/src/server/api/endpoints/admin/server-info.ts b/packages/backend/src/server/api/endpoints/admin/server-info.ts
index 9c150420b1..85c6fb82e7 100644
--- a/packages/backend/src/server/api/endpoints/admin/server-info.ts
+++ b/packages/backend/src/server/api/endpoints/admin/server-info.ts
@@ -99,12 +99,16 @@ export default define(meta, paramDef, async () => {
const fsStats = await si.fsSize();
const netInterface = await si.networkInterfaceDefault();
+ const redisServerInfo = await redisClient.info('Server');
+ const m = redisServerInfo.match(new RegExp('^redis_version:(.*)', 'm'));
+ const redis_version = m?.[1];
+
return {
machine: os.hostname(),
os: os.platform(),
node: process.version,
psql: await db.query('SHOW server_version').then(x => x[0].server_version),
- redis: redisClient.server_info.redis_version,
+ redis: redis_version,
cpu: {
model: os.cpus()[0].model,
cores: os.cpus().length,