テストなどにKeyDBを使うように (MisskeyIO#195)
This commit is contained in:
parent
42bc2817be
commit
db7a17d396
|
@ -72,7 +72,7 @@ dbReplications: false
|
|||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
redis:
|
||||
host: redis
|
||||
host: keydb
|
||||
port: 6379
|
||||
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
#pass: example-pass
|
||||
|
@ -80,7 +80,7 @@ redis:
|
|||
#db: 1
|
||||
|
||||
#redisForPubsub:
|
||||
# host: redis
|
||||
# host: keydb
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
|
@ -88,7 +88,7 @@ redis:
|
|||
# #db: 1
|
||||
|
||||
#redisForJobQueue:
|
||||
# host: redis
|
||||
# host: keydb
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
|
|
|
@ -72,7 +72,7 @@ dbReplications: false
|
|||
#───┘ Redis configuration └─────────────────────────────────────
|
||||
|
||||
redis:
|
||||
host: redis
|
||||
host: keydb
|
||||
port: 6379
|
||||
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
#pass: example-pass
|
||||
|
@ -80,7 +80,7 @@ redis:
|
|||
#db: 1
|
||||
|
||||
#redisForPubsub:
|
||||
# host: redis
|
||||
# host: keydb
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
|
@ -88,7 +88,7 @@ redis:
|
|||
# #db: 1
|
||||
|
||||
#redisForJobQueue:
|
||||
# host: redis
|
||||
# host: keydb
|
||||
# port: 6379
|
||||
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
|
||||
# #pass: example-pass
|
||||
|
|
|
@ -15,15 +15,15 @@ services:
|
|||
- internal_network
|
||||
- external_network
|
||||
|
||||
redis:
|
||||
keydb:
|
||||
restart: unless-stopped
|
||||
image: redis:7-alpine
|
||||
image: eqalpha/keydb:latest
|
||||
networks:
|
||||
- internal_network
|
||||
volumes:
|
||||
- redis-data:/data
|
||||
- keydb-data:/data
|
||||
healthcheck:
|
||||
test: "redis-cli ping"
|
||||
test: "keydb-cli ping"
|
||||
interval: 5s
|
||||
retries: 20
|
||||
|
||||
|
@ -45,7 +45,7 @@ services:
|
|||
|
||||
volumes:
|
||||
postgres-data:
|
||||
redis-data:
|
||||
keydb-data:
|
||||
|
||||
networks:
|
||||
internal_network:
|
||||
|
|
|
@ -11,6 +11,7 @@ docker-compose.yml
|
|||
node_modules/
|
||||
packages/*/node_modules
|
||||
redis/
|
||||
keydb/
|
||||
files/
|
||||
misskey-assets/
|
||||
fluent-emojis/
|
||||
|
|
|
@ -17,14 +17,14 @@ jobs:
|
|||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
image: postgres:15
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:7
|
||||
keydb:
|
||||
image: eqalpha/keydb:latest
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
|
|
|
@ -56,14 +56,14 @@ jobs:
|
|||
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:13
|
||||
image: postgres:15
|
||||
ports:
|
||||
- 54312:5432
|
||||
env:
|
||||
POSTGRES_DB: test-misskey
|
||||
POSTGRES_HOST_AUTH_METHOD: trust
|
||||
redis:
|
||||
image: redis:7
|
||||
keydb:
|
||||
image: eqalpha/keydb:latest
|
||||
ports:
|
||||
- 56312:6379
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ coverage
|
|||
!/.config/docker_example.env
|
||||
docker-compose.yml
|
||||
!/.devcontainer/docker-compose.yml
|
||||
!/packages/backend/test/docker-compose.yml
|
||||
|
||||
# misskey
|
||||
/build
|
||||
|
@ -51,6 +52,7 @@ run.bat
|
|||
api-docs.json
|
||||
*.log
|
||||
/redis
|
||||
/keydb
|
||||
*.code-workspace
|
||||
.DS_Store
|
||||
/files
|
||||
|
|
|
@ -27,7 +27,7 @@ spec:
|
|||
ports:
|
||||
- containerPort: 3000
|
||||
- name: postgres
|
||||
image: postgres:14-alpine
|
||||
image: postgres:15-alpine
|
||||
env:
|
||||
- name: POSTGRES_USER
|
||||
value: "example-misskey-user"
|
||||
|
@ -37,8 +37,8 @@ spec:
|
|||
value: "misskey"
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
- name: redis
|
||||
image: redis:alpine
|
||||
- name: keydb
|
||||
image: eqalpha/keydb:latest
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
volumes:
|
||||
|
|
|
@ -6,12 +6,12 @@ services:
|
|||
restart: always
|
||||
links:
|
||||
- db
|
||||
- redis
|
||||
- keydb
|
||||
# - meilisearch
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
keydb:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- "3000:3000"
|
||||
|
@ -22,15 +22,15 @@ services:
|
|||
- ./files:/misskey/files
|
||||
- ./.config:/misskey/.config:ro
|
||||
|
||||
redis:
|
||||
keydb:
|
||||
restart: always
|
||||
image: redis:7-alpine
|
||||
image: eqalpha/keydb:latest
|
||||
networks:
|
||||
- internal_network
|
||||
volumes:
|
||||
- ./redis:/data
|
||||
- ./keydb:/data
|
||||
healthcheck:
|
||||
test: "redis-cli ping"
|
||||
test: "keydb-cli ping"
|
||||
interval: 5s
|
||||
retries: 20
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ export class FeaturedService {
|
|||
redisTransaction.expire(
|
||||
`${name}:${currentWindow}`,
|
||||
(windowRange * 3) / 1000,
|
||||
'NX'); // "NX -- Set expiry only when the key has no expiry" = 有効期限がないときだけ設定
|
||||
);
|
||||
await redisTransaction.exec();
|
||||
}
|
||||
|
||||
|
@ -48,10 +48,10 @@ export class FeaturedService {
|
|||
const previousWindow = currentWindow - 1;
|
||||
|
||||
const redisPipeline = this.redisClient.pipeline();
|
||||
redisPipeline.zrange(
|
||||
`${name}:${currentWindow}`, 0, threshold, 'REV', 'WITHSCORES');
|
||||
redisPipeline.zrange(
|
||||
`${name}:${previousWindow}`, 0, threshold, 'REV', 'WITHSCORES');
|
||||
redisPipeline.zrevrange(
|
||||
`${name}:${currentWindow}`, 0, threshold, 'WITHSCORES');
|
||||
redisPipeline.zrevrange(
|
||||
`${name}:${previousWindow}`, 0, threshold, 'WITHSCORES');
|
||||
const [currentRankingResult, previousRankingResult] = await redisPipeline.exec().then(result => result ? result.map(r => r[1] as string[]) : [[], []]);
|
||||
|
||||
const ranking = new Map<string, number>();
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
version: "3"
|
||||
|
||||
services:
|
||||
redistest:
|
||||
image: redis:7
|
||||
keydbtest:
|
||||
image: eqalpha/keydb:latest
|
||||
ports:
|
||||
- "127.0.0.1:56312:6379"
|
||||
|
||||
dbtest:
|
||||
image: postgres:13
|
||||
image: postgres:15
|
||||
ports:
|
||||
- "127.0.0.1:54312:5432"
|
||||
environment:
|
||||
|
|
Loading…
Reference in New Issue