Skip to main content

Simple persistent caching.

Project description

rmmbr gives you a decorator you can place around async functions to have them be cached, locally or in the cloud.

Usage:

npm i rmmbr
import { cloudCache, localCache } from "rmmbr";

const cacher = localCache({ id: "some-id" });

let nCalled = 0;
const f = (x: number) => {
  nCalled++;
  return Promise.resolve(x);
};
const fCached = cacher(f);
await fCached(3);
await fCached(3);
// nCalled is 1 here

The local cache stores data in a text file under a .rmmbr directory.

There is also a memCache, if you are feeling nostalgic 😉 and just want to store stuff in memory.

If you want to persist across devices, we offer a free to use cloud service:

const cacher = cloudCache({
  token: "service-token",
  url: "https://uriva-rmmbr.deno.dev",
});

At the moment this service is with no guarantees, but we are working on a production tier as well. Please contact us or post an issue if you want to try it out!

We also accept issues for feature requests 👩‍🔧

Python

pip install rmmbr

The python api mimicks the js one, with exported decorators named mem_cache, local_cache and cloud_cache.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rmmbr-0.0.2.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

rmmbr-0.0.2-py3-none-any.whl (4.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page