Skip to content

Commit

Permalink
[backend] use cache storage service for workspace schema cache (#4342)
Browse files Browse the repository at this point in the history
* [backend] add cache storage module

* update docs

* update default TTL to a week

* Use cacheStorageService for WorkspaceSchemaCache

* remove memory storage module

* revert pattern

* remove logs
  • Loading branch information
Weiko authored Mar 12, 2024
1 parent 1b485c2 commit 0d8e700
Show file tree
Hide file tree
Showing 18 changed files with 54 additions and 345 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,8 @@ export class CacheStorageService {
async set<T>(key: string, value: T, ttl?: number) {
return this.cacheManager.set(`${this.namespace}:${key}`, value, ttl);
}

async del(key: string) {
return this.cacheManager.del(`${this.namespace}:${key}`);
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export enum CacheStorageNamespace {
Messaging = 'messaging',
WorkspaceSchema = 'workspaceSchema',
}

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,40 +1,11 @@
import { Module } from '@nestjs/common';

import { MemoryStorageDriverType } from 'src/integrations/memory-storage/interfaces';
import { MemoryStorageModule } from 'src/integrations/memory-storage/memory-storage.module';
import { MemoryStorageJsonSerializer } from 'src/integrations/memory-storage/serializers/json.serializer';
import { ObjectMetadataEntity } from 'src/metadata/object-metadata/object-metadata.entity';
import { ObjectMetadataModule } from 'src/metadata/object-metadata/object-metadata.module';
import { WorkspaceCacheVersionModule } from 'src/metadata/workspace-cache-version/workspace-cache-version.module';
import { WorkspaceSchemaStorageService } from 'src/workspace/workspace-schema-storage/workspace-schema-storage.service';

@Module({
imports: [
ObjectMetadataModule,
WorkspaceCacheVersionModule,
MemoryStorageModule.forRoot({
identifier: 'objectMetadataCollection',
type: MemoryStorageDriverType.Local,
options: {},
serializer: new MemoryStorageJsonSerializer<ObjectMetadataEntity[]>(),
}),
MemoryStorageModule.forRoot({
identifier: 'typeDefs',
type: MemoryStorageDriverType.Local,
options: {},
}),
MemoryStorageModule.forRoot({
identifier: 'usedScalarNames',
type: MemoryStorageDriverType.Local,
options: {},
serializer: new MemoryStorageJsonSerializer<string[]>(),
}),
MemoryStorageModule.forRoot({
identifier: 'cacheVersion',
type: MemoryStorageDriverType.Local,
options: {},
}),
],
imports: [ObjectMetadataModule, WorkspaceCacheVersionModule],
providers: [WorkspaceSchemaStorageService],
exports: [WorkspaceSchemaStorageService],
})
Expand Down
Loading

0 comments on commit 0d8e700

Please sign in to comment.