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

    1.0.2 • Public • Published

    NPM Version NODE Version Known Vulnerabilities NPM Download

    Features

    • Memory Cache
    • File System Cache
    • Redis Cache
    • MongoDB 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
            },
            mongoCache: {
                class: CacherComponent,
                options: {
                    type: 'mongodb',
                    uri: 'mongodb://localhost:27017/nodeCacheDb',
                    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 mongoCacheComponent: CacherComponent = app.Components.get<CacherComponent>('mongoCache')
        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 mongoCacheComponent.set('cacheKey', {testMsg: 'This is mongoCache'})
        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 mongoCacheComponent.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

    Install

    npm i @lakutata-component/cacher

    DownloadsWeekly Downloads

    13

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    213 kB

    Total Files

    52

    Last publish

    Collaborators

    • myq1991