to-cache
TypeScript icon, indicating that this package has built-in type declarations

0.0.9 • Public • Published

to-cache

NPM version Build Status

Just to cache.

Installation

npm install to-cache

Usage

// var toCache = window.toCache;
// const toCache = require('to-cache');
import toCache from 'to-cache';
 
toCache.set(
    'userInfo',
    {
        name: 'tom',
        age: 12
    },
    1000
);
 
console.log(toCache.get('userInfo').name); // 'tom'
 
setTimeout(() => {
    console.log(toCache.get('userInfo')); // undefined
}, 1001);
 
// from async function data
// ...
let asyncData = await toCache.getAndCache('asyncData', () => http.get('http://xxx'));
console.log(asyncData === await toCache.get('asyncData')); //  true
 
// a new instance.
let newCache = new toCache.ToCache();
// ... balabala

API

/**
 * 缓存模块
 *
 * @class ToCache
 */
declare class ToCache {
    /**
     * 存储所有缓存
     *
     * @private
     * @memberof ToCache
     */
    private _map;
    /**
     * 是否包含某缓存
     *
     * @param {string} key 缓存的 key
     * @returns
     * @memberof ToCache
     */
    has(key: string): boolean;
    /**
     * 根据key获取缓存值
     *
     * @template T
     * @param {string} key 缓存的 key
     * @returns
     * @memberof ToCache
     */
    get<T>(key: string): T | undefined;
    /**
     * 从缓存获取数据,如果不存在,则通过方法获取并缓存
     *
     * @template T
     * @param {string} key 缓存的 key
     * @param {() => Promise<T>} fn 如果缓存不存在,获取缓存的方法,返回 promise
     * @param {number} [expires=0] 过期时间,0表示永远
     * @returns
     * @memberof ToCache
     */
    getAndCache<T>(key: string, fn: () => Promise<T>, expires?: number): Promise<T>;
    /**
     * 设置缓存数据
     *
     * @param {string} key 缓存的key
     * @param {*} value 缓存的值
     * @param {number} [expires=0] 有效期
     * @memberof ToCache
     */
    set(key: string, value: any, expires?: number): void;
    /**
     * 根据key删除缓存
     *
     * @param {string} key 缓存的key
     * @memberof ToCache
     */
    del(key: string): void;
    /**
     * 获取所有缓存的key
     *
     * @returns {string[]} 
     * @memberof ToCache
     */
    keys(): string[];
    /**
     * 获取缓存数量
     *
     * @returns {number} 
     * @memberof ToCache
     */
    size(): number;
    /**
     * 清空所有缓存
     *
     * @memberof ToCache
     */
    clear(): void;
    /**
     * 原始构造函数
     *
     * @memberof ToCache
     */
    ToCache: typeof ToCache;
}
declare const _default: ToCache;
export default _default;

Enjoy it.

>_<#@!

Readme

Keywords

Package Sidebar

Install

npm i to-cache

Weekly Downloads

5

Version

0.0.9

License

MIT

Unpacked Size

23 kB

Total Files

15

Last publish

Collaborators

  • shalldie