A Redis based cache implementation.

Constructors

  • Initializes a new instance of that class.

    Parameters

    Returns RedisCache

    Example

    import RedisCache from "@egomobile/redis"

    // use REDIS_HOST and REDIS_PORT
    // environment variables
    const cache1 = new RedisCache()

    // use custom settings
    const cache2 = new RedisCache({
    host: "redis.example.com",
    port: 5979
    })

Properties

#d: ((...args) => void)

Type declaration

    • (...args): void
    • Parameters

      • Rest ...args: any[]

      Returns void

#delAsync: any
#flushDbAsync: any
#getAsync: any
#setAsync: any
client: RedisClientType<{
    bf: {
        ADD: __module;
        CARD: __module;
        EXISTS: __module;
        INFO: __module;
        INSERT: __module;
        LOADCHUNK: __module;
        MADD: __module;
        MEXISTS: __module;
        RESERVE: __module;
        SCANDUMP: __module;
        add: __module;
        card: __module;
        exists: __module;
        info: __module;
        insert: __module;
        loadChunk: __module;
        mAdd: __module;
        mExists: __module;
        reserve: __module;
        scanDump: __module;
    };
    cf: {
        ADD: __module;
        ADDNX: __module;
        COUNT: __module;
        DEL: __module;
        EXISTS: __module;
        INFO: __module;
        INSERT: __module;
        INSERTNX: __module;
        LOADCHUNK: __module;
        RESERVE: __module;
        SCANDUMP: __module;
        add: __module;
        addNX: __module;
        count: __module;
        del: __module;
        exists: __module;
        info: __module;
        insert: __module;
        insertNX: __module;
        loadChunk: __module;
        reserve: __module;
        scanDump: __module;
    };
    cms: {
        INCRBY: __module;
        INFO: __module;
        INITBYDIM: __module;
        INITBYPROB: __module;
        MERGE: __module;
        QUERY: __module;
        incrBy: __module;
        info: __module;
        initByDim: __module;
        initByProb: __module;
        merge: __module;
        query: __module;
    };
    ft: {
        AGGREGATE: __module;
        AGGREGATE_WITHCURSOR: __module;
        ALIASADD: __module;
        ALIASDEL: __module;
        ALIASUPDATE: __module;
        ALTER: __module;
        CONFIG_GET: __module;
        CONFIG_SET: __module;
        CREATE: __module;
        CURSOR_DEL: __module;
        CURSOR_READ: __module;
        DICTADD: __module;
        DICTDEL: __module;
        DICTDUMP: __module;
        DROPINDEX: __module;
        EXPLAIN: __module;
        EXPLAINCLI: __module;
        INFO: __module;
        PROFILEAGGREGATE: __module;
        PROFILESEARCH: __module;
        SEARCH: __module;
        SEARCH_NOCONTENT: __module;
        SPELLCHECK: __module;
        SUGADD: __module;
        SUGDEL: __module;
        SUGGET: __module;
        SUGGET_WITHPAYLOADS: __module;
        SUGGET_WITHSCORES: __module;
        SUGGET_WITHSCORES_WITHPAYLOADS: __module;
        SUGLEN: __module;
        SYNDUMP: __module;
        SYNUPDATE: __module;
        TAGVALS: __module;
        _LIST: __module;
        _list: __module;
        aggregate: __module;
        aggregateWithCursor: __module;
        aliasAdd: __module;
        aliasDel: __module;
        aliasUpdate: __module;
        alter: __module;
        configGet: __module;
        configSet: __module;
        create: __module;
        cursorDel: __module;
        cursorRead: __module;
        dictAdd: __module;
        dictDel: __module;
        dictDump: __module;
        dropIndex: __module;
        explain: __module;
        explainCli: __module;
        info: __module;
        profileAggregate: __module;
        profileSearch: __module;
        search: __module;
        searchNoContent: __module;
        spellCheck: __module;
        sugAdd: __module;
        sugDel: __module;
        sugGet: __module;
        sugGetWithPayloads: __module;
        sugGetWithScores: __module;
        sugGetWithScoresWithPayloads: __module;
        sugLen: __module;
        synDump: __module;
        synUpdate: __module;
        tagVals: __module;
    };
    graph: {
        CONFIG_GET: __module;
        CONFIG_SET: __module;
        DELETE: __module;
        EXPLAIN: __module;
        LIST: __module;
        PROFILE: __module;
        QUERY: __module;
        RO_QUERY: __module;
        SLOWLOG: __module;
        configGet: __module;
        configSet: __module;
        delete: __module;
        explain: __module;
        list: __module;
        profile: __module;
        query: __module;
        roQuery: __module;
        slowLog: __module;
    };
    json: {
        ARRAPPEND: __module;
        ARRINDEX: __module;
        ARRINSERT: __module;
        ARRLEN: __module;
        ARRPOP: __module;
        ARRTRIM: __module;
        DEBUG_MEMORY: __module;
        DEL: __module;
        FORGET: __module;
        GET: __module;
        MERGE: __module;
        MGET: __module;
        MSET: __module;
        NUMINCRBY: __module;
        NUMMULTBY: __module;
        OBJKEYS: __module;
        OBJLEN: __module;
        RESP: __module;
        SET: __module;
        STRAPPEND: __module;
        STRLEN: __module;
        TYPE: __module;
        arrAppend: __module;
        arrIndex: __module;
        arrInsert: __module;
        arrLen: __module;
        arrPop: __module;
        arrTrim: __module;
        debugMemory: __module;
        del: __module;
        forget: __module;
        get: __module;
        mGet: __module;
        mSet: __module;
        merge: __module;
        numIncrBy: __module;
        numMultBy: __module;
        objKeys: __module;
        objLen: __module;
        resp: __module;
        set: __module;
        strAppend: __module;
        strLen: __module;
        type: __module;
    };
    tDigest: {
        ADD: __module;
        BYRANK: __module;
        BYREVRANK: __module;
        CDF: __module;
        CREATE: __module;
        INFO: __module;
        MAX: __module;
        MERGE: __module;
        MIN: __module;
        QUANTILE: __module;
        RANK: __module;
        RESET: __module;
        REVRANK: __module;
        TRIMMED_MEAN: __module;
        add: __module;
        byRank: __module;
        byRevRank: __module;
        cdf: __module;
        create: __module;
        info: __module;
        max: __module;
        merge: __module;
        min: __module;
        quantile: __module;
        rank: __module;
        reset: __module;
        revRank: __module;
        trimmedMean: __module;
    };
    topK: {
        ADD: __module;
        COUNT: __module;
        INCRBY: __module;
        INFO: __module;
        LIST: __module;
        LIST_WITHCOUNT: __module;
        QUERY: __module;
        RESERVE: __module;
        add: __module;
        count: __module;
        incrBy: __module;
        info: __module;
        list: __module;
        listWithCount: __module;
        query: __module;
        reserve: __module;
    };
    ts: {
        ADD: __module;
        ALTER: __module;
        CREATE: __module;
        CREATERULE: __module;
        DECRBY: __module;
        DEL: __module;
        DELETERULE: __module;
        GET: __module;
        INCRBY: __module;
        INFO: __module;
        INFO_DEBUG: __module;
        MADD: __module;
        MGET: __module;
        MGET_WITHLABELS: __module;
        MRANGE: __module;
        MRANGE_WITHLABELS: __module;
        MREVRANGE: __module;
        MREVRANGE_WITHLABELS: __module;
        QUERYINDEX: __module;
        RANGE: __module;
        REVRANGE: __module;
        add: __module;
        alter: __module;
        create: __module;
        createRule: __module;
        decrBy: __module;
        del: __module;
        deleteRule: __module;
        get: __module;
        incrBy: __module;
        info: __module;
        infoDebug: __module;
        mAdd: __module;
        mGet: __module;
        mGetWithLabels: __module;
        mRange: __module;
        mRangeWithLabels: __module;
        mRevRange: __module;
        mRevRangeWithLabels: __module;
        queryIndex: __module;
        range: __module;
        revRange: __module;
    };
}, Record<string, never>, Record<string, never>>

The underlying base client.

Type declaration

  • bf: {
        ADD: __module;
        CARD: __module;
        EXISTS: __module;
        INFO: __module;
        INSERT: __module;
        LOADCHUNK: __module;
        MADD: __module;
        MEXISTS: __module;
        RESERVE: __module;
        SCANDUMP: __module;
        add: __module;
        card: __module;
        exists: __module;
        info: __module;
        insert: __module;
        loadChunk: __module;
        mAdd: __module;
        mExists: __module;
        reserve: __module;
        scanDump: __module;
    }
    • ADD: __module
    • CARD: __module
    • EXISTS: __module
    • INFO: __module
    • INSERT: __module
    • LOADCHUNK: __module
    • MADD: __module
    • MEXISTS: __module
    • RESERVE: __module
    • SCANDUMP: __module
    • add: __module
    • card: __module
    • exists: __module
    • info: __module
    • insert: __module
    • loadChunk: __module
    • mAdd: __module
    • mExists: __module
    • reserve: __module
    • scanDump: __module
  • cf: {
        ADD: __module;
        ADDNX: __module;
        COUNT: __module;
        DEL: __module;
        EXISTS: __module;
        INFO: __module;
        INSERT: __module;
        INSERTNX: __module;
        LOADCHUNK: __module;
        RESERVE: __module;
        SCANDUMP: __module;
        add: __module;
        addNX: __module;
        count: __module;
        del: __module;
        exists: __module;
        info: __module;
        insert: __module;
        insertNX: __module;
        loadChunk: __module;
        reserve: __module;
        scanDump: __module;
    }
    • ADD: __module
    • ADDNX: __module
    • COUNT: __module
    • DEL: __module
    • EXISTS: __module
    • INFO: __module
    • INSERT: __module
    • INSERTNX: __module
    • LOADCHUNK: __module
    • RESERVE: __module
    • SCANDUMP: __module
    • add: __module
    • addNX: __module
    • count: __module
    • del: __module
    • exists: __module
    • info: __module
    • insert: __module
    • insertNX: __module
    • loadChunk: __module
    • reserve: __module
    • scanDump: __module
  • cms: {
        INCRBY: __module;
        INFO: __module;
        INITBYDIM: __module;
        INITBYPROB: __module;
        MERGE: __module;
        QUERY: __module;
        incrBy: __module;
        info: __module;
        initByDim: __module;
        initByProb: __module;
        merge: __module;
        query: __module;
    }
    • INCRBY: __module
    • INFO: __module
    • INITBYDIM: __module
    • INITBYPROB: __module
    • MERGE: __module
    • QUERY: __module
    • incrBy: __module
    • info: __module
    • initByDim: __module
    • initByProb: __module
    • merge: __module
    • query: __module
  • ft: {
        AGGREGATE: __module;
        AGGREGATE_WITHCURSOR: __module;
        ALIASADD: __module;
        ALIASDEL: __module;
        ALIASUPDATE: __module;
        ALTER: __module;
        CONFIG_GET: __module;
        CONFIG_SET: __module;
        CREATE: __module;
        CURSOR_DEL: __module;
        CURSOR_READ: __module;
        DICTADD: __module;
        DICTDEL: __module;
        DICTDUMP: __module;
        DROPINDEX: __module;
        EXPLAIN: __module;
        EXPLAINCLI: __module;
        INFO: __module;
        PROFILEAGGREGATE: __module;
        PROFILESEARCH: __module;
        SEARCH: __module;
        SEARCH_NOCONTENT: __module;
        SPELLCHECK: __module;
        SUGADD: __module;
        SUGDEL: __module;
        SUGGET: __module;
        SUGGET_WITHPAYLOADS: __module;
        SUGGET_WITHSCORES: __module;
        SUGGET_WITHSCORES_WITHPAYLOADS: __module;
        SUGLEN: __module;
        SYNDUMP: __module;
        SYNUPDATE: __module;
        TAGVALS: __module;
        _LIST: __module;
        _list: __module;
        aggregate: __module;
        aggregateWithCursor: __module;
        aliasAdd: __module;
        aliasDel: __module;
        aliasUpdate: __module;
        alter: __module;
        configGet: __module;
        configSet: __module;
        create: __module;
        cursorDel: __module;
        cursorRead: __module;
        dictAdd: __module;
        dictDel: __module;
        dictDump: __module;
        dropIndex: __module;
        explain: __module;
        explainCli: __module;
        info: __module;
        profileAggregate: __module;
        profileSearch: __module;
        search: __module;
        searchNoContent: __module;
        spellCheck: __module;
        sugAdd: __module;
        sugDel: __module;
        sugGet: __module;
        sugGetWithPayloads: __module;
        sugGetWithScores: __module;
        sugGetWithScoresWithPayloads: __module;
        sugLen: __module;
        synDump: __module;
        synUpdate: __module;
        tagVals: __module;
    }
    • AGGREGATE: __module
    • AGGREGATE_WITHCURSOR: __module
    • ALIASADD: __module
    • ALIASDEL: __module
    • ALIASUPDATE: __module
    • ALTER: __module
    • CONFIG_GET: __module
    • CONFIG_SET: __module
    • CREATE: __module
    • CURSOR_DEL: __module
    • CURSOR_READ: __module
    • DICTADD: __module
    • DICTDEL: __module
    • DICTDUMP: __module
    • DROPINDEX: __module
    • EXPLAIN: __module
    • EXPLAINCLI: __module
    • INFO: __module
    • PROFILEAGGREGATE: __module
    • PROFILESEARCH: __module
    • SEARCH: __module
    • SEARCH_NOCONTENT: __module
    • SPELLCHECK: __module
    • SUGADD: __module
    • SUGDEL: __module
    • SUGGET: __module
    • SUGGET_WITHPAYLOADS: __module
    • SUGGET_WITHSCORES: __module
    • SUGGET_WITHSCORES_WITHPAYLOADS: __module
    • SUGLEN: __module
    • SYNDUMP: __module
    • SYNUPDATE: __module
    • TAGVALS: __module
    • _LIST: __module
    • _list: __module
    • aggregate: __module
    • aggregateWithCursor: __module
    • aliasAdd: __module
    • aliasDel: __module
    • aliasUpdate: __module
    • alter: __module
    • configGet: __module
    • configSet: __module
    • create: __module
    • cursorDel: __module
    • cursorRead: __module
    • dictAdd: __module
    • dictDel: __module
    • dictDump: __module
    • dropIndex: __module
    • explain: __module
    • explainCli: __module
    • info: __module
    • profileAggregate: __module
    • profileSearch: __module
    • search: __module
    • searchNoContent: __module
    • spellCheck: __module
    • sugAdd: __module
    • sugDel: __module
    • sugGet: __module
    • sugGetWithPayloads: __module
    • sugGetWithScores: __module
    • sugGetWithScoresWithPayloads: __module
    • sugLen: __module
    • synDump: __module
    • synUpdate: __module
    • tagVals: __module
  • graph: {
        CONFIG_GET: __module;
        CONFIG_SET: __module;
        DELETE: __module;
        EXPLAIN: __module;
        LIST: __module;
        PROFILE: __module;
        QUERY: __module;
        RO_QUERY: __module;
        SLOWLOG: __module;
        configGet: __module;
        configSet: __module;
        delete: __module;
        explain: __module;
        list: __module;
        profile: __module;
        query: __module;
        roQuery: __module;
        slowLog: __module;
    }
    • CONFIG_GET: __module
    • CONFIG_SET: __module
    • DELETE: __module
    • EXPLAIN: __module
    • LIST: __module
    • PROFILE: __module
    • QUERY: __module
    • RO_QUERY: __module
    • SLOWLOG: __module
    • configGet: __module
    • configSet: __module
    • delete: __module
    • explain: __module
    • list: __module
    • profile: __module
    • query: __module
    • roQuery: __module
    • slowLog: __module
  • json: {
        ARRAPPEND: __module;
        ARRINDEX: __module;
        ARRINSERT: __module;
        ARRLEN: __module;
        ARRPOP: __module;
        ARRTRIM: __module;
        DEBUG_MEMORY: __module;
        DEL: __module;
        FORGET: __module;
        GET: __module;
        MERGE: __module;
        MGET: __module;
        MSET: __module;
        NUMINCRBY: __module;
        NUMMULTBY: __module;
        OBJKEYS: __module;
        OBJLEN: __module;
        RESP: __module;
        SET: __module;
        STRAPPEND: __module;
        STRLEN: __module;
        TYPE: __module;
        arrAppend: __module;
        arrIndex: __module;
        arrInsert: __module;
        arrLen: __module;
        arrPop: __module;
        arrTrim: __module;
        debugMemory: __module;
        del: __module;
        forget: __module;
        get: __module;
        mGet: __module;
        mSet: __module;
        merge: __module;
        numIncrBy: __module;
        numMultBy: __module;
        objKeys: __module;
        objLen: __module;
        resp: __module;
        set: __module;
        strAppend: __module;
        strLen: __module;
        type: __module;
    }
    • ARRAPPEND: __module
    • ARRINDEX: __module
    • ARRINSERT: __module
    • ARRLEN: __module
    • ARRPOP: __module
    • ARRTRIM: __module
    • DEBUG_MEMORY: __module
    • DEL: __module
    • FORGET: __module
    • GET: __module
    • MERGE: __module
    • MGET: __module
    • MSET: __module
    • NUMINCRBY: __module
    • NUMMULTBY: __module
    • OBJKEYS: __module
    • OBJLEN: __module
    • RESP: __module
    • SET: __module
    • STRAPPEND: __module
    • STRLEN: __module
    • TYPE: __module
    • arrAppend: __module
    • arrIndex: __module
    • arrInsert: __module
    • arrLen: __module
    • arrPop: __module
    • arrTrim: __module
    • debugMemory: __module
    • del: __module
    • forget: __module
    • get: __module
    • mGet: __module
    • mSet: __module
    • merge: __module
    • numIncrBy: __module
    • numMultBy: __module
    • objKeys: __module
    • objLen: __module
    • resp: __module
    • set: __module
    • strAppend: __module
    • strLen: __module
    • type: __module
  • tDigest: {
        ADD: __module;
        BYRANK: __module;
        BYREVRANK: __module;
        CDF: __module;
        CREATE: __module;
        INFO: __module;
        MAX: __module;
        MERGE: __module;
        MIN: __module;
        QUANTILE: __module;
        RANK: __module;
        RESET: __module;
        REVRANK: __module;
        TRIMMED_MEAN: __module;
        add: __module;
        byRank: __module;
        byRevRank: __module;
        cdf: __module;
        create: __module;
        info: __module;
        max: __module;
        merge: __module;
        min: __module;
        quantile: __module;
        rank: __module;
        reset: __module;
        revRank: __module;
        trimmedMean: __module;
    }
    • ADD: __module
    • BYRANK: __module
    • BYREVRANK: __module
    • CDF: __module
    • CREATE: __module
    • INFO: __module
    • MAX: __module
    • MERGE: __module
    • MIN: __module
    • QUANTILE: __module
    • RANK: __module
    • RESET: __module
    • REVRANK: __module
    • TRIMMED_MEAN: __module
    • add: __module
    • byRank: __module
    • byRevRank: __module
    • cdf: __module
    • create: __module
    • info: __module
    • max: __module
    • merge: __module
    • min: __module
    • quantile: __module
    • rank: __module
    • reset: __module
    • revRank: __module
    • trimmedMean: __module
  • topK: {
        ADD: __module;
        COUNT: __module;
        INCRBY: __module;
        INFO: __module;
        LIST: __module;
        LIST_WITHCOUNT: __module;
        QUERY: __module;
        RESERVE: __module;
        add: __module;
        count: __module;
        incrBy: __module;
        info: __module;
        list: __module;
        listWithCount: __module;
        query: __module;
        reserve: __module;
    }
    • ADD: __module
    • COUNT: __module
    • INCRBY: __module
    • INFO: __module
    • LIST: __module
    • LIST_WITHCOUNT: __module
    • QUERY: __module
    • RESERVE: __module
    • add: __module
    • count: __module
    • incrBy: __module
    • info: __module
    • list: __module
    • listWithCount: __module
    • query: __module
    • reserve: __module
  • ts: {
        ADD: __module;
        ALTER: __module;
        CREATE: __module;
        CREATERULE: __module;
        DECRBY: __module;
        DEL: __module;
        DELETERULE: __module;
        GET: __module;
        INCRBY: __module;
        INFO: __module;
        INFO_DEBUG: __module;
        MADD: __module;
        MGET: __module;
        MGET_WITHLABELS: __module;
        MRANGE: __module;
        MRANGE_WITHLABELS: __module;
        MREVRANGE: __module;
        MREVRANGE_WITHLABELS: __module;
        QUERYINDEX: __module;
        RANGE: __module;
        REVRANGE: __module;
        add: __module;
        alter: __module;
        create: __module;
        createRule: __module;
        decrBy: __module;
        del: __module;
        deleteRule: __module;
        get: __module;
        incrBy: __module;
        info: __module;
        infoDebug: __module;
        mAdd: __module;
        mGet: __module;
        mGetWithLabels: __module;
        mRange: __module;
        mRangeWithLabels: __module;
        mRevRange: __module;
        mRevRangeWithLabels: __module;
        queryIndex: __module;
        range: __module;
        revRange: __module;
    }
    • ADD: __module
    • ALTER: __module
    • CREATE: __module
    • CREATERULE: __module
    • DECRBY: __module
    • DEL: __module
    • DELETERULE: __module
    • GET: __module
    • INCRBY: __module
    • INFO: __module
    • INFO_DEBUG: __module
    • MADD: __module
    • MGET: __module
    • MGET_WITHLABELS: __module
    • MRANGE: __module
    • MRANGE_WITHLABELS: __module
    • MREVRANGE: __module
    • MREVRANGE_WITHLABELS: __module
    • QUERYINDEX: __module
    • RANGE: __module
    • REVRANGE: __module
    • add: __module
    • alter: __module
    • create: __module
    • createRule: __module
    • decrBy: __module
    • del: __module
    • deleteRule: __module
    • get: __module
    • incrBy: __module
    • info: __module
    • infoDebug: __module
    • mAdd: __module
    • mGet: __module
    • mGetWithLabels: __module
    • mRange: __module
    • mRangeWithLabels: __module
    • mRevRange: __module
    • mRevRangeWithLabels: __module
    • queryIndex: __module
    • range: __module
    • revRange: __module

Methods

  • Closes the connection.

    Returns Promise<boolean>

    The promise with a value that indicates if operation was successful or not.

    Example

    import RedisCache from "@egomobile/redis"

    const cache = new RedisCache()

    await cache.close()
  • Creates a new fetcher based on this cache instance.

    Type Parameters

    • TFunc extends AsyncFunc

    Parameters

    • key: string

      The key where the data should be stored in cache.

    • fetcher: TFunc

      The function that fetches the data.

    • Optional options: Nilable<ICreateRedisCacheFetcherOptions>

      Custom options.

    Returns RedisCacheFetcher<TFunc>

    The new fetcher.

    Example

    import axios from "axios"
    import RedisCache from "@egomobile/redis"

    const cache = new RedisCache()

    const loadRandomUsers = cache.createFetcher(
    'randomUsersKey',
    async (seed: string) => {
    const response = await axios.get(`https://randomuser.me/api/?seed=${encodeURIComponent(seed)}`)

    return response.data
    }
    )

    // first call MUST be successful, otherwise
    // exception is re-thrown
    const data1 = await loadRandomUsers("foobar1")

    // should be same as `data1`, because it is cached
    const data2 = await loadRandomUsers("foobar2")

    // reset and force reloading data
    await loadRandomUsers.reset()
    const data3 = await loadRandomUsers("foobar3")
  • Removes all entries.

    Returns Promise<boolean>

    The promise that indicates if operation was successful or not.

    Example

    import RedisCache from "@egomobile/redis"

    const cache = new RedisCache()

    if (await cache.flush()) {
    // success
    } else {
    // error
    }
  • Tries to return a value from cache by key.

    Type Parameters

    • TResult extends unknown = any

    Parameters

    • key: string

      The key.

    Returns Promise<undefined | TResult>

    The promise with the value or the default value.

    Example

    import RedisCache from "@egomobile/redis"

    const cache = new RedisCache()

    // if "foo1" does not exist, (undefined) is returned
    await cache.get("foo1")

    // if "foo2" does not exist, "bar" is returned
    await cache.get("foo2", "bar")
  • Type Parameters

    • TResult

    • TDefault

    Parameters

    • key: string
    • defaultValue: TDefault

    Returns Promise<TResult | TDefault>

  • Sets or deletes a value.

    Parameters

    • key: string

      The key.

    • value: any

      The (new) value. A value of (null) or (undefined) will delete the value of a key.

    • Optional ttl: number | false = 3600

      The time in seconds, the value "lives". (false) indicates that the value does not become invalid and "lives forever".

    Returns Promise<boolean>

    The promise, that indicates if operation was successful or not.

    Example

    import RedisCache from "@egomobile/redis"

    const cache = new RedisCache()

    // you can submit any value
    // which can be serialized by JSON.stringify()
    await cache.set("foo", "bar")
    await cache.set("foo", 5979)
    await cache.set("foo", true)
    await cache.set("foo", { bar: "baz" })
    await cache.set("foo", ["bar", 23979])

    // ways to delete a value
    await cache.set("foo", null)
    await cache.set("foo", undefined)

Generated using TypeDoc