Esempio n. 1
0
        public static void Main()
        {
            var config = new RedisConfigModel
            {
                Host = "127.0.0.1",
                Port = "6379"
            };
            var            redisManager = new RedisManager(config);
            ConsoleKeyInfo inputKey;

            do
            {
                Console.WriteLine("请选择一个演示:");
                Console.WriteLine("1.阻塞锁");
                Console.WriteLine("2.非阻塞锁");
                inputKey = Console.ReadKey();
                Console.WriteLine();
            } while (inputKey.Key != ConsoleKey.D1 && inputKey.Key != ConsoleKey.D2);
            Parallel.For(0, 10, async index =>
            {
                switch (inputKey.Key)
                {
                case ConsoleKey.D1:
                    await ShowBlockingLockAsync(redisManager, index);
                    break;

                case ConsoleKey.D2:
                    await ShowNonBlockingLockAsync(redisManager, index);
                    break;
                }
            });
            Console.ReadKey();
        }
Esempio n. 2
0
 public Consumer(
     IOptions <RedisConfigModel> redisConfig,
     IOptions <RabbitMqConfigModel> rabbitMqConfig,
     IRedisService redisService)
 {
     _redisConfig    = redisConfig?.Value ?? throw new ArgumentNullException(nameof(redisConfig));
     _rabbitMqConfig = rabbitMqConfig?.Value ?? throw new ArgumentNullException(nameof(rabbitMqConfig));
     _redisService   = redisService;
 }
Esempio n. 3
0
        public static void AddRedisCache(this IServiceCollection services, Action <RedisConfigModel> setupAction)
        {
            RedisConfigModel config = (RedisConfigModel)setupAction.Target;

            services.AddSingleton <IDistributedCache>(factory =>
            {
                var cache = new RedisCache(new RedisCacheOptions
                {
                    Configuration = config.ConnectionString,
                    InstanceName  = config.InstanceName
                });

                return(cache);
            });
        }