@lakutata-component/cacher
TypeScript icon, indicating that this package has built-in type declarations

1.0.15 • Public • Published

NPM Version NODE Version Known Vulnerabilities NPM Download

Features

  • Memory Cache
  • File System Cache
  • Redis Cache
  • Memcached Cache

Quickstart

import {createApp} from '@lakutata/core'
import {CacherComponent, CacheOptions} from '@lakutata-component/cacher'

createApp({
    id: 'cache.test.app',
    name: 'cache-test',
    components: {
        memoryCache: {
            class: CacherComponent,
            options: {
                type: 'memory',
                ttl: 5
            } as CacheOptions
        },
        redisCache: {
            class: CacherComponent,
            options: {
                type: 'redis',
                host: 'localhost',
                ttl: 5
            } as CacheOptions
        },
        fsCache: {
            class: CacherComponent,
            options: {
                type: 'fs',
                ttl: 5
            } as CacheOptions
        },
        memcachedCache: {
            class: CacherComponent,
            options: {
                type: 'memcached',
                hosts: 'localhost',
                ttl: 5
            } as CacheOptions
        }
    }
}).then(async app => {
    const memoryCacheComponent: CacherComponent = app.Components.get<CacherComponent>('memoryCache')
    const redisCacheComponent: CacherComponent = app.Components.get<CacherComponent>('redisCache')
    const fsCacheComponent: CacherComponent = app.Components.get<CacherComponent>('fsCache')
    const memcachedCacheComponent: CacherComponent = app.Components.get<CacherComponent>('memcachedCache')
    await memoryCacheComponent.set('cacheKey', {testMsg: 'This is memoryCache'})
    await redisCacheComponent.set('cacheKey', {testMsg: 'This is redisCache'})
    await fsCacheComponent.set('cacheKey', {testMsg: 'This is fsCache'})
    await memcachedCacheComponent.set('cacheKey', {testMsg: 'This is memcachedCache'})
    setTimeout(async () => {
        app.Logger.info(await memoryCacheComponent.get('cacheKey'))
        app.Logger.info(await redisCacheComponent.get('cacheKey'))
        app.Logger.info(await fsCacheComponent.get('cacheKey'))
        app.Logger.info(await memcachedCacheComponent.get('cacheKey'))
    }, 1000)
}).catch(e => {
    console.error(e)
    process.exit(1)
})

@lakutata/core required.

How to Contribute

Please let us know how can we help. Do check out issues for bug reports or suggestions first.

License

MIT

Dependents (0)

Package Sidebar

Install

npm i @lakutata-component/cacher

Weekly Downloads

11

Version

1.0.15

License

MIT

Unpacked Size

179 kB

Total Files

42

Last publish

Collaborators

  • myq1991