fel kesz game backend
This commit is contained in:
@@ -303,4 +303,73 @@ export class RedisService {
|
||||
public isRedisConnected(): boolean {
|
||||
return this.isConnected;
|
||||
}
|
||||
|
||||
// Generic Redis methods for game data
|
||||
public async get(key: string): Promise<string | null> {
|
||||
try {
|
||||
return await this.client.get(key);
|
||||
} catch (error) {
|
||||
logError(`Failed to get key ${key}`, error as Error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public async set(key: string, value: string): Promise<void> {
|
||||
try {
|
||||
await this.client.set(key, value);
|
||||
} catch (error) {
|
||||
logError(`Failed to set key ${key}`, error as Error);
|
||||
}
|
||||
}
|
||||
|
||||
public async setWithExpiry(key: string, value: string, expirySeconds: number): Promise<void> {
|
||||
try {
|
||||
await this.client.setEx(key, expirySeconds, value);
|
||||
} catch (error) {
|
||||
logError(`Failed to set key ${key} with expiry`, error as Error);
|
||||
}
|
||||
}
|
||||
|
||||
public async del(key: string): Promise<void> {
|
||||
try {
|
||||
await this.client.del(key);
|
||||
} catch (error) {
|
||||
logError(`Failed to delete key ${key}`, error as Error);
|
||||
}
|
||||
}
|
||||
|
||||
public async setAdd(key: string, member: string): Promise<void> {
|
||||
try {
|
||||
await this.client.sAdd(key, member);
|
||||
} catch (error) {
|
||||
logError(`Failed to add member to set ${key}`, error as Error);
|
||||
}
|
||||
}
|
||||
|
||||
public async setRemove(key: string, member: string): Promise<void> {
|
||||
try {
|
||||
await this.client.sRem(key, member);
|
||||
} catch (error) {
|
||||
logError(`Failed to remove member from set ${key}`, error as Error);
|
||||
}
|
||||
}
|
||||
|
||||
public async setMembers(key: string): Promise<string[]> {
|
||||
try {
|
||||
return await this.client.sMembers(key);
|
||||
} catch (error) {
|
||||
logError(`Failed to get members of set ${key}`, error as Error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
public async exists(key: string): Promise<boolean> {
|
||||
try {
|
||||
const result = await this.client.exists(key);
|
||||
return result === 1;
|
||||
} catch (error) {
|
||||
logError(`Failed to check existence of key ${key}`, error as Error);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user