@serverless-seoul/cache
v9.2.0
Published
Typescript cached fetching helper
Downloads
3
Readme
@serverless-seoul/cache
Installation
$ npm install @serverless-seoul/cache --save
Features
- Support Promise for every method
- Support for get / set methods
- Advanced cache-access pattern such as fetch.
Example
describe("#fetchMulti", () => {
const memcached = new Memcached();
const fetcher = new MemcachedFetcher(memcached);
it("should fetch only missing sets", async () => {
const res1 = await fetcher.multiFetch(
[1, 2, 3, 4, 5],
(arg) => `v1-${arg}`,
3600,
async (args) => {
return args.map((arg) => arg * arg);
}
);
expect(res1).to.deep.eq([1, 4, 9, 16, 25]);
// it's using same hash key, so should reuse cache for exsiting values
const res2 = await fetcher.multiFetch(
[1, 2, 100, 200, 5],
(arg) => `v1-${arg}`,
3600,
async (args) => {
return args.map((arg) => arg + arg);
}
);
expect(res2).to.deep.eq([1, 4, 200, 400, 25]);
const res3 = await fetcher.multiFetch(
[],
(arg) => `v1-${arg}`,
3600,
async (args) => {
return args.map((arg) => arg);
}
);
expect(res3).to.deep.eq([]);
});
});
Supported Drivers
- Redis
- Clustered Redis