示例#1
0
        private static void Transation(IBankAccountRespoitory repo, int[] bankAccountIds)
        {
            foreach (var index in Enumerable.Range(0, transationCount))
            {
                var ranNo         = new Random(Guid.NewGuid().GetHashCode()).Next(bankAccountIds.Length);
                var ranAmount     = new Random(Guid.NewGuid().GetHashCode()).Next(RandomIncAmountMaxmum);
                var bankAccountId = bankAccountIds[ranNo];

                repo.UpdateIfExist(bankAccountId, ranAmount);
                var data = repo.Find(bankAccountId);
                Console.WriteLine($"Transation Data:{data.ToString()}");
            }
        }
示例#2
0
        private static IEnumerable <int> Generate(IBankAccountRespoitory repo)
        {
            List <int> bankAccountIds = new List <int>();

            foreach (var index in Enumerable.Range(0, people))
            {
                var bankAccountId = new Random(Guid.NewGuid().GetHashCode()).Next(100000000);
                var account       = new BankAccount()
                {
                    BankAccountId    = bankAccountId,
                    Amount           = 0,
                    TransactionCount = 0
                };

                repo.AddIfNotExist(account);
                Console.WriteLine($"Add Account: {account.ToString()}");
                bankAccountIds.Add(bankAccountId);
            }

            return(bankAccountIds);
        }
        public void Init()
        {
            var lazyRedisConnections = new Lazy <ConnectionMultiplexer>(() =>
            {
                var options = ConfigurationOptions.Parse("localhost:6379");
                options.AbortOnConnectFail = false;

                var muxer = ConnectionMultiplexer.Connect(options);
                muxer.ConnectionFailed += (sender, e) =>
                {
                    Console.WriteLine("redis failed: " + EndPointCollection.ToString(e.EndPoint) + "/" + e.ConnectionType);
                };
                muxer.ConnectionRestored += (sender, e) =>
                {
                    Console.WriteLine("redis restored: " + EndPointCollection.ToString(e.EndPoint) + "/" + e.ConnectionType);
                };

                return(muxer);
            });

            this.repo = new RedisBankAccountRespoitory(lazyRedisConnections.Value, "RedisLuaScriptTest");
        }