Exemplo n.º 1
0
        public DistributedLockProvider(RedisConnectionProvider connectionProvider, IOptions <LockOptions> options, ILogger <DistributedLockProvider> logger)
        {
            _options    = options.Value;
            _connection = connectionProvider.GetConnection();
            _db         = _connection.GetDatabase();
            _expire     = TimeSpan.FromSeconds(_options.ExpireTimeSeconds);

            _script = $@"
local i
i = redis.call('incr',KEYS[1])
if tonumber(i) == 1 then 
redis.call('expire', KEYS[1], {_options.ExpireTimeSeconds}) 
end
return i 
";
            _logger = logger;
        }
Exemplo n.º 2
0
 public RedisConsumer()
 {
     _redisConnection = RedisConnectionProvider.GetConnection("localhost");
     _consumer        = _redisConnection?.GetSubscriber();
 }
        StackExchange.Redis.IDatabase RedisDatabaseBuilder()
        {
            var provider = new RedisConnectionProvider();

            return(provider.GetConnection().GetDatabase());
        }