File

packages/server/src/modules/redis/redis.service.ts

Index

Methods

Constructor

constructor(redisClient: Redis)
Parameters :
Name Type Optional
redisClient Redis No

Methods

Async delete
delete(key: string)
Parameters :
Name Type Optional
key string No
Returns : Promise<void>
Async get
get(key: RedisKey)
Parameters :
Name Type Optional
key RedisKey No
Returns : Promise<string | null>
Async getKeys
getKeys(pattern: string)
Parameters :
Name Type Optional
pattern string No
Returns : Promise<string[]>
Async insert
insert(key: string, value: string | number)
Parameters :
Name Type Optional
key string No
value string | number No
Returns : Promise<void>
Async validate
validate(key: string, value: string)
Parameters :
Name Type Optional
key string No
value string No
Returns : Promise<boolean>
import { Redis, RedisKey } from "ioredis";
import { Inject, Injectable } from "@nestjs/common";

import { IORedisKey } from "./redis.constants";

@Injectable()
export class RedisService {
  constructor(
    @Inject(IORedisKey)
    private readonly redisClient: Redis
  ) {}

  async getKeys(pattern: string): Promise<string[]> {
    return await this.redisClient.keys(pattern);
  }

  async insert(key: string, value: string | number): Promise<void> {
    await this.redisClient.set(key, value);
  }

  async get(key: RedisKey): Promise<string | null> {
    return this.redisClient.get(key);
  }

  async delete(key: string): Promise<void> {
    await this.redisClient.del(key);
  }

  async validate(key: string, value: string): Promise<boolean> {
    const storedValue = await this.redisClient.get(key);
    return storedValue === value;
  }
}

results matching ""

    No results matching ""