xy-server/game/gear/SKRedisUtil.ts

60 lines
1.7 KiB
TypeScript
Raw Permalink Normal View History

2025-04-23 09:34:08 +08:00
import IORedis, * as ioredis from "ioredis";
import SKDataUtil from "./SKDataUtil";
import SKLogger from "./SKLogger";
export default class SKRedisUtil {
static redis: ioredis.Redis;
static launch() {
if (this.redis) {
return;
}
this.redis = new IORedis({
host: "127.0.0.1",
port: 6379,
password: "xy1024"
});
SKLogger.debug(`REDIS连接`);
}
static async setValue(key: string, value: any) {
let v: string = SKDataUtil.toJson(value,null);
try{
await this.redis.set(key, v);
}catch(error){
SKLogger.warn(`REDIS:设置[${key}=${v}]错误:${error}\n${error.stack}`);
}
};
static async setExpireValue(key: string, value: any,seconds:number) {
let v: string = SKDataUtil.toJson(value,null);
try{
await this.redis.setex(key,seconds,v)
}catch(error){
SKLogger.warn(`REDIS:设置[${key}=${v}:${seconds}秒]错误:${error}\n${error.stack}`);
}
};
static async getValue(key: any, valid?: number): Promise<any> {
try {
let result = await this.redis.get(key);
if (result == null) {
return valid;
}
result = SKDataUtil.jsonBy(result);
return result;
} catch (error) {
SKLogger.warn(`REDIS:获得[${key}错误:${error}\n${error.stack}`);
return valid;
}
}
static async delValue(key: string): Promise<Number> {
try {
let result = await this.redis.del(key);
return result;
} catch (error) {
return null;
}
}
}