Neolithic Psychedelic Mushrooms

    @fabrix/spool-caches
    TypeScript icon, indicating that this package has built-in type declarations

    1.6.1 • Public • Published

    spool-caches

    Gitter NPM version Build Status Test Coverage Dependency Status Follow @FabrixApp on Twitter

    📦 Caches Spool

    Install

    $ npm install --save @fabrix/spool-caches

    Configure

    // config/main.ts
    export const main = {
      spools: [
        // ... other spools
        require('@fabrix/spool-caches').CachesSpool
      ]
    }

    Configuration

    const mongoStore = require('cache-manager-mongodb')
    const redisStore = require('cache-manager-redis')
    // config/caches.ts
    export const caches = {
      stores: [
      // Example for redis Store
      {
        name: 'my-redis-store',
        store: redisStore,
        host: 'localhost',
        auth_pass: ''
        db: 0,
        ttl: 600 // Default TTL
      },
      // Example for memory store
      {
        name: 'memory-store',
        store: 'memory',
        max: 100,
        ttl: 60
      },
      // Example for mongo store
      {
        name: 'mongo-store',
        store: mongoStore,
        options: {
          host: 'localhost',
          port: '27017',
          username: 'username',
          password: 'password',
          database: 'mymondodb',
          collection: 'cacheManager',
          compression: false,
          poolSize: 5,
          auto_reconnect: true
          ttl: 60
        }
      }],
    
      defaults: ['memory-store']
    }
    

    For more information about store (type and configuration) please see the cache-manager documentation.

    Usage

      const myDefaultCache = this.app.services.CacheService.getStore() // Return the first store into defaults config
      myDefaultCache.set('mystoreddata', 'testValue', {ttl: 10}).then(result => {
      return myDefaultCache.get('mystoreddata').then(result => {
            console.log(result)
            // >> 'testValue'
            return myDefaultCache.del('mystoreddata')
        })
      })

    You can retrieve a specific store by name like this: const myMongoCache = this.app.services.CacheService.getStore('mongo-store')

    You can retrieve a multi caching store like this (without parameters to get multi caching with defaults stores): const myMongoCache = this.app.services.CacheService.getMultiCachingStore(['memory-store', 'mongo-store'])

    Install

    npm i @fabrix/spool-caches

    Homepage

    fabrix.app

    DownloadsWeekly Downloads

    20

    Version

    1.6.1

    License

    MIT

    Unpacked Size

    15.8 kB

    Total Files

    27

    Last publish

    Collaborators

    • scottbwyatt