@soketi/soketi
Version:
Just another simple, fast, and resilient open-source WebSockets server.
38 lines (37 loc) • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RedisCacheManager = void 0;
const ioredis_1 = require("ioredis");
class RedisCacheManager {
constructor(server) {
this.server = server;
let redisOptions = {
...server.options.database.redis,
...server.options.cache.redis.redisOptions,
};
this.redisConnection = server.options.cache.redis.clusterMode
? new ioredis_1.Cluster(server.options.database.redis.clusterNodes, {
scaleReads: 'slave',
...redisOptions,
})
: new ioredis_1.default(redisOptions);
}
has(key) {
return this.get(key).then(result => {
return result ? true : false;
});
}
get(key) {
return this.redisConnection.get(key);
}
set(key, value, ttlSeconds = -1) {
return ttlSeconds > 0
? this.redisConnection.set(key, value, 'EX', ttlSeconds)
: this.redisConnection.set(key, value);
}
disconnect() {
return this.redisConnection.quit().then(() => {
});
}
}
exports.RedisCacheManager = RedisCacheManager;