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()}"); } }
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"); }