1.1.0 • Published 1 year ago

cache-manager-nats-store v1.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago
const config = {
    url:'nats://0.0.0.0:4222',
    ttl: 3600,
    bucket: "test"
}
// Create nats-store
const natsStore = await cacheManager.caching(createBucketKeyValueStore, config);
// set key value
await natsStore.set("test1",{
    id:1,
    value:"Danh",
    age:28
});
// get key
const value = await natsStore.get("test1");
// delete key
await natsStore.del("test1");
// delete all key in bucket
await natsStore.reset();
// define in module
@Module({
  imports: [CacheModule.registerAsync({
    imports: [ConfigModule],
    useFactory: async (configService: ConfigService) => {
      const store = await createBucketKeyValueStore({
        url: configService.get<string>('URL')
        bucket: configService.get<string>('BUCKET'),
        ttl: 86400 * 30
      })
      return {
        store: store as unknown as CacheStore
      }
    },
    inject: [ConfigService]
  })],
  controllers: [],
  providers: [],
  exports: []
})
export class AppModule {}

// app.service.ts
import { CACHE_MANAGER, Inject, Injectable } from '@nestjs/common';
import { Cache } from 'cache-manager';
@Injectable()
export class Appservice {

  constructor(@Inject(CACHE_MANAGER) private cacheManager: Cache) {}

  del(key: string): Promise<void> {
    return this.cacheManager.del(key)
  }

  get<T> (key: string): Promise<T> {
    return this.cacheManager.get(key)
  }

  reset(): Promise<void> {
    return this.cacheManager.reset()
  }

  set(key: string, data: any): Promise<void> {
    return this.cacheManager.set(key, data)
  }

}
1.1.0

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago