0.0.9 • Published 4 years ago

to-cache v0.0.9

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

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.

>_<#@!

0.0.9

4 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago