TypeScript library for caching static functions


Keywords
cache, redis, memory, upstash
License
MIT
Install
npm install func-cache@2.2.61

Documentation

Fun cache

This is the fun and cache.

How does it work:

It stores a map of results of a function and uses arguments as keys, for faster response,

Note that if the function result in different results with the same argument, the cache wouldn't work.

How to use:

import funcache from "func-cache";

const cachedFibonacci = funcache((num: number) => {
    // ... your function here
}, options); // about the options, see below


console.log(cachedFibonacci(1000)); //-- viewing the result

console.log(cachedFibonacci.noCache(1000)); //-- run without caching

console.log(cachedFibonacci.clearCache()); //-- to clear the cache

Options:

import funcache, { localStorageCacher, fSCacher, redisCacher, upstashCacher } from "func-cache";

const options = {
  // (1 sec) in miliseconds
  lifeTime: 1000, 

  /** debounce time wait to call onDataUpdate, default 1000ms */
  debounceTimer: 200,

  /** incase the call is async, (sometimes the script doesn't detect it's async and wont run the await for it) default: false */
  async: true,


    
  // place to store the cache, incase of restarts (browser only)
  ...localStorageCacher("_cachePlace_for_fibonacci"), 

  // place to store the cache, incase of restarts (server only). fs way
  ...fSCacher("./_cachePlace_for_fibonacci.json"), 

  // place to store the cache, incase of restarts (server only). redis way
  ...redisCacher("_cachePlace_for_fibonacci", {
    client: redisClient,
  }),

  // place to store the cache, incase of restarts (server only). upstash way
  ...upstashCacher("_cachePlace_for_fibonacci", {
    client: upstashClient,
  }),
};