基于Layui的缓存类,实现set/get/remove/clear缓存接口

/**
 * 基于layui的缓存类
 */
class Cache {
    constructor(table) {
        this.table = table;
    }
    /**
     * 设置
     * @param {string|int} key
     * @param {*} value
     * @param {int} ttl
     */
    set(key, value, ttl = 1800) {
        const settings = {
            key: key,
            value: [(new Date()).getTime() + (ttl * 1000), value]
        }
        layui.sessionData(this.table, settings);
    }
    /**
     * 获取
     * @param {string|int} key
     * @returns {*|null}
     */
    get(key) {
        const value = layui.sessionData(this.table, key);
        if (!value || value[0] < (new Date()).getTime()) {
            return null;
        }
        return value[1];
    }
    /**
     * 移除
     * @param {string|int} key
     */
    remove(key) {
        const settings = {
            key: key,
            remove: true
        }
        layui.sessionData(this.table, settings);
    }
    /**
     * 清空
     */
    clear() {
        layui.sessionData(this.table, null);
    }
}
最后修改:2023 年 08 月 04 日 07 : 33 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论