levelcache/ts/levelcache.classes.levelcache.ts
2020-02-14 18:10:10 +00:00

61 lines
1.3 KiB
TypeScript

import * as plugins from './levelcache.plugins';
import { CacheDiskManager } from './levelcache.classes.cache.diskmanager';
import { CacheMemoryManager } from './levelcache.classes.cache.memorymanager';
import { CacheS3Manager } from './levelcache.classes.cache.s3manager';
import { CacheEntry } from './levelcache.classes.cacheentry';
/**
* a leveled cache for storing things for a short time
*/
export class LevelCache {
public cacheMap = new plugins.lik.Objectmap();
public cacheDiskManager = new CacheDiskManager();
public cacheMemoryManager = new CacheMemoryManager();
public cacheS3Manager = new CacheS3Manager();
private processKey (keyArg: string) {
if (!keyArg) {
return plugins.smartunique.shortId();
}
}
// Blobs
/**
* store a Blob
*/
public async storeBlobByKey (keyArg: string, blob: Buffer) {
keyArg = this.processKey(keyArg);
return keyArg;
}
/**
* retrieve a blob
*/
public async retrieveBlob (keyArg: string): CacheEntry {
}
// Cache Entries
/**
* store a Cache Entries
*/
public async storeCacheEntry(cacheEntryArg: CacheEntry): string {
}
/**
* retrieve cache entry
*/
public async retrieveCacheEntry (): CacheEntry {
}
/**
* cleans the cache
*/
public clean() {
};
}