redis.ts 848 B

12345678910111213141516171819202122232425262728293031
  1. import { promisify } from "util";
  2. import redis from "redis";
  3. const disabled = process.env.REDIS_DISABLED === "true";
  4. const client =
  5. !disabled &&
  6. redis.createClient({
  7. host: process.env.REDIS_HOST || "127.0.0.1",
  8. port: Number(process.env.REDIS_PORT) || 6379,
  9. ...(process.env.REDIS_PASSWORD && { password: process.env.REDIS_PASSWORD })
  10. });
  11. const defaultResolver: () => Promise<null> = () => Promise.resolve(null);
  12. export const get: (key: string) => Promise<any> = disabled
  13. ? defaultResolver
  14. : promisify(client.get).bind(client);
  15. export const set: (
  16. key: string,
  17. value: string,
  18. ex?: string,
  19. exValue?: number
  20. ) => Promise<any> = disabled
  21. ? defaultResolver
  22. : promisify(client.set).bind(client);
  23. export const del: (key: string) => Promise<any> = disabled
  24. ? defaultResolver
  25. : promisify(client.del).bind(client);