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

0.35.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),
      },
    }
  );
};

Readme

Keywords

Package Sidebar

Install

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

Weekly Downloads

317

Version

0.35.0

License

MIT

Unpacked Size

112 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