@node-idempotency/storage-adapter-redis
Version:
redis storage adapter for node-idempotency
42 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RedisStorageAdapter = void 0;
const redis_1 = require("redis");
class RedisStorageAdapter {
constructor(options) {
this.client = (0, redis_1.createClient)(options);
this.client.on("error", (err) => {
console.log("Redis Client Error", err);
});
}
async connect() {
await this.client.connect();
}
async disconnect() {
try {
await this.client.disconnect();
}
catch (err) {
console.warn(`failed to disconnect redis client`, err);
}
}
async setIfNotExists(key, val, { ttl } = {}) {
const res = await this.client.set(key, val, {
NX: true,
PX: ttl,
});
if (res) {
return true;
}
return false;
}
async set(key, val, { ttl }) {
await this.client.set(key, val, { PX: ttl });
}
async get(key) {
const val = await this.client.get(key);
return val ?? undefined;
}
}
exports.RedisStorageAdapter = RedisStorageAdapter;
//# sourceMappingURL=adapter-redis.js.map