0.7.1 • Published 4 years ago

@dimensionfourcloud/memcached v0.7.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

NestCloud - Memcached

Description

This is a Memcached module for Nest.

Installation

$ npm i --save @dimensionfourcloud/memcached memcached

Quick Start

Import Module

import { Module } from '@nestjs/common';
import { MemcachedModule } from '@dimensionfourcloud/memcached';

@Module({
  imports: [
      MemcachedModule.register({
        uri: [
           '192.168.0.102:11211',
           '192.168.0.103:11211',
           '192.168.0.104:11211'
        ],
        retries: 3
      })
  ],
})
export class ApplicationModule {}

If you use @dimensionfourcloud/boot module.

import { Module } from '@nestjs/common';
import { MemcachedModule } from '@dimensionfourcloud/memcached';
import { BootModule } from '@dimensionfourcloud/boot';
import { NEST_BOOT } from '@dimensionfourcloud/common';

@Module({
  imports: [
      BootModule.register(__dirname, 'bootstrap.yml'),
      MemcachedModule.register({dependencies: [NEST_BOOT]})
  ],
})
export class ApplicationModule {}
bootstrap.yml
memcached:
  uri: ['192.168.0.102:11211', '192.168.0.103:11211', '192.168.0.104:11211'],
  retries: 3

If you use @dimensionfourcloud/config module.

import { Module } from '@nestjs/common';
import { MemcachedModule } from '@dimensionfourcloud/memcached';
import { ConsulModule } from '@dimensionfourcloud/consul';
import { ConfigModule } from '@dimensionfourcloud/config';
import { NEST_CONSUL_CONFIG } from '@dimensionfourcloud/common';

@Module({
  imports: [
      ConsulModule.register({/* ignore */}),
      ConfigModule.register({/* ignore */}),
      MemcachedModule.register({dependencies: [NEST_CONSUL_CONFIG]})
  ],
})
export class ApplicationModule {}
config in consul kv
memcached:
  uri: ['192.168.0.102:11211', '192.168.0.103:11211', '192.168.0.104:11211'],
  retries: 3

Memcached Client Injection

import { Component } from '@nestjs/common';
import { InjectMemcachedClient, Memcached } from '@dimensionfourcloud/memcached';

@Component()
export class TestService {
  constructor(@InjectMemcachedClient() private readonly memClient: Memcached) {}

  async addValue(key: string, value: string): void {
      await this.memClient.add(key, value);
  }
  
  async deleteValue(key: string): void {
      await this.memClient.del(key);
  }
}

Support

NestCloud is an MIT-licensed open source project.

Stay in touch

License

NestCloud is MIT licensed.