ConnectionPool.d.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /// <reference types="node" />
  2. import { EventEmitter } from "events";
  3. import { RedisOptions, NodeKey, NodeRole } from "./util";
  4. import Redis from "../Redis";
  5. export default class ConnectionPool extends EventEmitter {
  6. private redisOptions;
  7. private nodes;
  8. private specifiedOptions;
  9. constructor(redisOptions: any);
  10. getNodes(role?: NodeRole): Redis[];
  11. getInstanceByKey(key: NodeKey): Redis;
  12. getSampleInstance(role: NodeRole): Redis;
  13. /**
  14. * Add a master node to the pool
  15. * @param node
  16. */
  17. addMasterNode(node: RedisOptions): boolean;
  18. /**
  19. * Creates a Redis connection instance from the node options
  20. * @param node
  21. * @param readOnly
  22. */
  23. createRedisFromOptions(node: RedisOptions, readOnly: boolean): Redis;
  24. /**
  25. * Find or create a connection to the node
  26. */
  27. findOrCreate(node: RedisOptions, readOnly?: boolean): Redis;
  28. /**
  29. * Reset the pool with a set of nodes.
  30. * The old node will be removed.
  31. */
  32. reset(nodes: RedisOptions[]): void;
  33. /**
  34. * Remove a node from the pool.
  35. */
  36. private removeNode;
  37. }