Skip to content

TS-Node-Cache is a TypeScript-based caching solution that's simple and lightweight. It supports data caching with optional expiration and callbacks.

License

Notifications You must be signed in to change notification settings

ebenezerdon/ts-node-cache

Repository files navigation

TS-Node-Cache

TS-Node-Cache is a TypeScript-based caching solution that's simple and lightweight. It supports data caching with optional expiration and callbacks. Similar to memory-cache but with modern implementation and TypeScript support.

npm version License: ISC

Features

  • Stores any data type.
  • Allows setting expiration time for entries.
  • Supports custom callbacks on expiration.
  • Debug mode for tracking cache activity.
  • Serialize cache to/from JSON.

Installation

npm install @ebenezerdon/ts-node-cache

Usage

Import and Create Cache

import { Cache } from '@ebenezerdon/ts-node-cache'
const cache = new Cache()

Store Data

cache.put('myKey', 'myValue', 5000, () => console.log('Expired'))

Retrieve Data

let value = cache.get('myKey')

Delete Data

cache.del('myKey')

Clear Cache

cache.clear()

Enable Debugging

cache.debug(true)

Methods

  • put(key: string, value: T, time?: number, timeoutCallback?: (key: string, value: T) => void): T
  • get(key: string): T | null
  • del(key: string): boolean
  • clear(): void
  • size(): number
  • debug(bool: boolean): void
  • hits(): number
  • misses(): number
  • keys(): string[]
  • exportJson(): string
  • importJson(jsonToImport: string, options?: { skipDuplicates?: boolean }): number

Contributing

To contribute:

  1. Fork & Clone: Fork the repo and clone it locally.
  2. Make Changes: Work on your changes.
  3. Build: Run npm run build to build the project.
  4. Test: Ensure your changes don't break anything.
  5. Submit a PR: Push your changes and submit a pull request.

License

This project is licensed under the ISC License - see the LICENSE file for details.

About

TS-Node-Cache is a TypeScript-based caching solution that's simple and lightweight. It supports data caching with optional expiration and callbacks.

Topics

Resources

License

Stars

Watchers

Forks

Packages