@expo/entity-cache-adapter-redis
TypeScript icon, indicating that this package has built-in type declarations

0.37.0 • Public • Published

@expo/entity-cache-adapter-redis

ioredis cache adapter for @expo/entity.

Documentation

Usage

During EntityCompanionProvider instantiation:

import Redis from 'ioredis';

const genericRedisCacherContext = {
  redisClient: new Redis(new URL(process.env['REDIS_URL']!).toString()),
  makeKeyFn(...parts: string[]): string {
    const delimiter = ':';
    const escapedParts = parts.map((part) =>
      part.replace('\\', '\\\\').replace(delimiter, `\\${delimiter}`)
    );
    return escapedParts.join(delimiter);
  },
  cacheKeyPrefix: 'ent-',
  ttlSecondsPositive: 86400, // 1 day
  ttlSecondsNegative: 600, // 10 minutes
};

export const createDefaultEntityCompanionProvider = (
  metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter()
): EntityCompanionProvider => {
  return new EntityCompanionProvider(
    metricsAdapter,
    {
      ...
    },
    {
      ['redis']: {
        cacheAdapterProvider: new RedisCacheAdapterProvider(genericRedisCacheContext),
      },
    }
  );
};

/@expo/entity-cache-adapter-redis/

    Package Sidebar

    Install

    npm i @expo/entity-cache-adapter-redis

    Weekly Downloads

    329

    Version

    0.37.0

    License

    MIT

    Unpacked Size

    114 kB

    Total Files

    55

    Last publish

    Collaborators

    • szdziedzic
    • alanhughes
    • kadikraman
    • radoslawkrzemien
    • aleqsio
    • marklawlor
    • gabrieldonadel
    • simek
    • keith-kurak
    • christopherwalter
    • kbrandwijk
    • fiber-god
    • ide
    • brentvatne
    • evanbacon
    • quinlanj
    • expoadmin
    • tsapeta
    • exponent
    • wschurman
    • wkozyra
    • bycedric
    • lukmccall
    • jonsamp
    • princefleaswallow
    • kudochien