var Redlock = require('redlock'); var RedisService = module.exports; export class RedlockService { _redisClient: any; ttl: number; redlock: any; constructor(redisClient) { this._redisClient = redisClient; this._redisClient.on("error", function (err) { console.error("Redis:Error:" + err); }); this.ttl = 1000; this.redlock = new Redlock( [this._redisClient], { // the expected clock drift; for more details // see http://redis.io/topics/distlock driftFactor: 0.01, // time in ms // the max number of times Redlock will attempt // to lock a resource before erroring retryCount: 10, // the time in ms between attempts retryDelay: 200, // time in ms // the max time in ms randomly added to retries // to improve performance under high contention // see https://www.awsarchitectureblog.com/2015/03/backoff.html retryJitter: 200 // time in ms } ); this.redlock.on('clientError', function(err) { console.error('A redis error has occurred:', err); }); } getWithModify() { } }