public void Parallel_PoolClient_Test() { PoolRedisClient prc = new PoolRedisClient(new PoolConfiguration() { Host = ip, Port = port, MaxClients = 100 }); Parallel.For(0, 1000, new ParallelOptions() { MaxDegreeOfParallelism = 100 }, (index, item) => { using (var client = prc.GetClient()) { Thread.Sleep(100); client.Set("Parallel_PoolClient_Test" + index, "Parallel_PoolClient_Test"); var info2 = client.Get("Parallel_PoolClient_Test" + index); Assert.AreEqual(info2.ToString(), "Parallel_PoolClient_Test"); } }); prc.Dispose(); }
public void SetTest() { using (var mock = new FakeRedisSocket("+OK\r\n", "+OK\r\n", "+OK\r\n", "+OK\r\n", "$-1\r\n", "$-1\r\n", "$-1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("OK", redis.Set("key", "value")); Assert.Equal("*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n", mock.GetMessage()); Assert.Equal("OK", redis.Set("key", "value", expirationSeconds: 1)); Assert.Equal("*5\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nEX\r\n$1\r\n1\r\n", mock.GetMessage()); Assert.Equal("OK", redis.Set("key", "value", expirationSeconds: 1, condition: RedisExistence.Nx)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nEX\r\n$1\r\n1\r\n$2\r\nNX\r\n", mock.GetMessage()); Assert.Equal("OK", redis.Set("key", "value", expirationSeconds: 1, condition: RedisExistence.Xx)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nEX\r\n$1\r\n1\r\n$2\r\nXX\r\n", mock.GetMessage()); Assert.Null(redis.Set("key", "value", expirationMilliseconds: 1)); Assert.Equal("*5\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nPX\r\n$1\r\n1\r\n", mock.GetMessage()); Assert.Null(redis.Set("key", "value", expirationMilliseconds: 1, condition: RedisExistence.Nx)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nPX\r\n$1\r\n1\r\n$2\r\nNX\r\n", mock.GetMessage()); Assert.Null(redis.Set("key", "value", expirationMilliseconds: 1, condition: RedisExistence.Xx)); Assert.Equal("*6\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n$2\r\nPX\r\n$1\r\n1\r\n$2\r\nXX\r\n", mock.GetMessage()); } }
public void Thread_PoolClient_Test() { PoolRedisClient prc = new PoolRedisClient(new PoolConfiguration() { Host = ip, Port = port }); Parallel.For(0, 1000, new ParallelOptions() { MaxDegreeOfParallelism = 100 }, (index, item) => { var t = new Thread(() => { Thread.Sleep(1000); object info2; using (var client = prc.GetClient()) { client.Set("Parallel_PoolClient_Test" + index, "Parallel_PoolClient_Test"); Thread.Sleep(15000); info2 = client.Get("Parallel_PoolClient_Test" + index); } Assert.AreEqual(info2.ToString(), "Parallel_PoolClient_Test"); }); t.Start(); }); Thread.Sleep(20000); prc.Dispose(); }
public void Pool_Send_Get_TimeOut() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port, MaxClients = 2, MinClients = 1, SendTimeout = 5, ReceiveTimeout = 5 }); var par = Parallel.For(0, 1000, new ParallelOptions() { MaxDegreeOfParallelism = 100 }, (index, item) => { prc.Set("Parallel_PoolClient_Test" + index, "Parallel_PoolClient_Test"); var info2 = prc.Get("Parallel_PoolClient_Test" + index); Assert.AreEqual(info2.ToString(), "Parallel_PoolClient_Test"); }); Thread.Sleep(5000); prc.Dispose(); }
public void TestHIncrByFloat() { using (var mock = new FakeRedisSocket("$4\r\n3.14\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(3.14, redis.HIncrByFloat("test", "field", 1.14)); Assert.Equal("*4\r\n$12\r\nHINCRBYFLOAT\r\n$4\r\ntest\r\n$5\r\nfield\r\n$4\r\n1.14\r\n", mock.GetMessage()); } }
public void TestHIncrBy() { using (var mock = new FakeRedisSocket(":5\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(5, redis.HIncrBy("test", "field", 1)); Assert.Equal("*4\r\n$7\r\nHINCRBY\r\n$4\r\ntest\r\n$5\r\nfield\r\n$1\r\n1\r\n", mock.GetMessage()); } }
public void TestHGet() { using (var mock = new FakeRedisSocket("$4\r\ntest\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("test", redis.HGet("test", "field")); Assert.Equal("*3\r\n$4\r\nHGET\r\n$4\r\ntest\r\n$5\r\nfield\r\n", mock.GetMessage()); } }
public void TestHExists() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.True(redis.HExists("test", "field")); Assert.Equal("*3\r\n$7\r\nHEXISTS\r\n$4\r\ntest\r\n$5\r\nfield\r\n", mock.GetMessage()); } }
public void TestHSetNX() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.True(redis.HSetNx("test", "field1", "test1")); Assert.Equal("*4\r\n$6\r\nHSETNX\r\n$4\r\ntest\r\n$6\r\nfield1\r\n$5\r\ntest1\r\n", mock.GetMessage()); } }
public void TestHLen() { using (var mock = new FakeRedisSocket(":5\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(5, redis.HLen("test")); Assert.Equal("*2\r\n$4\r\nHLEN\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void TestSIsMember() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.True(redis.SIsMember("test", "test1")); Assert.Equal("*3\r\n$9\r\nSISMEMBER\r\n$4\r\ntest\r\n$5\r\ntest1\r\n", mock.GetMessage()); } }
public void TestMove() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.True(redis.Move("test", 5)); Assert.Equal("*3\r\n$4\r\nMOVE\r\n$4\r\ntest\r\n$1\r\n5\r\n", mock.GetMessage()); } }
public void GetTest() { using (var mock = new FakeRedisSocket("$5\r\nhello\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("hello", redis.Get("key")); Assert.Equal("*2\r\n$3\r\nGET\r\n$3\r\nkey\r\n", mock.GetMessage()); } }
public void TestRPushX() { using (var mock = new FakeRedisSocket(":3\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(3, redis.RPushX("test", "test1")); Assert.Equal("*3\r\n$6\r\nRPUSHX\r\n$4\r\ntest\r\n$5\r\ntest1\r\n", mock.GetMessage()); } }
public void TestDump() { using (var mock = new FakeRedisSocket("$4\r\ntest\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("test", Encoding.ASCII.GetString(redis.Dump("test"))); Assert.Equal("*2\r\n$4\r\nDUMP\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void TestObject() { using (var mock = new FakeRedisSocket(":9999\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(9999, redis.ObjectIdleTime("test2")); Assert.Equal("*3\r\n$6\r\nOBJECT\r\n$8\r\nIDLETIME\r\n$5\r\ntest2\r\n", mock.GetMessage()); } }
public void TestRestore() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("OK", redis.Restore("test", 123, "abc")); Assert.Equal("*4\r\n$7\r\nRESTORE\r\n$4\r\ntest\r\n$3\r\n123\r\n$3\r\nabc\r\n", mock.GetMessage()); } }
public void TestTtl() { using (var mock = new FakeRedisSocket(":123\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(123, redis.Ttl("test")); Assert.Equal("*2\r\n$3\r\nTTL\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void TestRandomKey() { using (var mock = new FakeRedisSocket("$7\r\nsomekey\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("somekey", redis.RandomKey()); Assert.Equal("*1\r\n$9\r\nRANDOMKEY\r\n", mock.GetMessage()); } }
public void TestRenameNx() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.True(redis.RenameNx("test1", "test2")); Assert.Equal("*3\r\n$8\r\nRENAMENX\r\n$5\r\ntest1\r\n$5\r\ntest2\r\n", mock.GetMessage()); } }
public void TestSRem() { using (var mock = new FakeRedisSocket(":2\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(2, redis.SRem("test", "test1", "test2")); Assert.Equal("*4\r\n$4\r\nSREM\r\n$4\r\ntest\r\n$5\r\ntest1\r\n$5\r\ntest2\r\n", mock.GetMessage()); } }
public void TestSPop() { using (var mock = new FakeRedisSocket("$5\r\ntest1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("test1", redis.SPop("test")); Assert.Equal("*2\r\n$4\r\nSPOP\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void TestSMove() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.True(redis.SMove("test", "destination", "test1")); Assert.Equal("*4\r\n$5\r\nSMOVE\r\n$4\r\ntest\r\n$11\r\ndestination\r\n$5\r\ntest1\r\n", mock.GetMessage()); } }
public void TestLIndex() { using (var mock = new FakeRedisSocket("$5\r\ntest1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("test1", redis.LIndex("test", 0)); Assert.Equal("*3\r\n$6\r\nLINDEX\r\n$4\r\ntest\r\n$1\r\n0\r\n", mock.GetMessage()); } }
public void TestLTrim() { using (var mock = new FakeRedisSocket("+OK\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("OK", redis.LTrim("test", 0, 3)); Assert.Equal("*4\r\n$5\r\nLTRIM\r\n$4\r\ntest\r\n$1\r\n0\r\n$1\r\n3\r\n", mock.GetMessage()); } }
public void TestRPopLPush() { using (var mock = new FakeRedisSocket("$5\r\ntest1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal("test1", redis.RPopLPush("test", "new")); Assert.Equal("*3\r\n$9\r\nRPOPLPUSH\r\n$4\r\ntest\r\n$3\r\nnew\r\n", mock.GetMessage()); } }
public void GetBitTest() { using (var mock = new FakeRedisSocket(":1\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.True(redis.GetBit("key", 10)); Assert.Equal("*3\r\n$6\r\nGETBIT\r\n$3\r\nkey\r\n$2\r\n10\r\n", mock.GetMessage()); } }
public void DecrByTest() { using (var mock = new FakeRedisSocket(":10\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(10, redis.DecrBy("key", 5)); Assert.Equal("*3\r\n$6\r\nDECRBY\r\n$3\r\nkey\r\n$1\r\n5\r\n", mock.GetMessage()); } }
public void TestSCard() { using (var mock = new FakeRedisSocket(":3\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(3, redis.SCard("test")); Assert.Equal("*2\r\n$5\r\nSCARD\r\n$4\r\ntest\r\n", mock.GetMessage()); } }
public void TestSInterStore() { using (var mock = new FakeRedisSocket(":3\r\n")) using (var redis = new PoolRedisClient(mock, new DnsEndPoint("fakehost", 9999))) { Assert.Equal(3, redis.SInterStore("destination", "key1", "key2")); Assert.Equal("*4\r\n$11\r\nSINTERSTORE\r\n$11\r\ndestination\r\n$4\r\nkey1\r\n$4\r\nkey2\r\n", mock.GetMessage()); } }
public void Pool_Single() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port, MaxClients = 100 }); prc.Set("GetClient_Test", "GetClient_Test"); var info2 = prc.Get("GetClient_Test"); Assert.AreEqual(info2.ToString(), "GetClient_Test"); prc.Dispose(); }
public void Pool_Multi() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port, MaxClients = 100 }); var info = prc.Multi(client => { client.Set("GetClient_Test", "GetClient_Test"); return client.Get("GetClient_Test"); }); Assert.AreEqual(info.ToString(), "GetClient_Test"); prc.Dispose(); }
public void Pool_Send_Get_TimeOut() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port, MaxClients = 2, MinClients = 1, SendTimeout = 5, ReceiveTimeout = 5 }); var par = Parallel.For(0, 1000, new ParallelOptions() {MaxDegreeOfParallelism = 100}, (index, item) => { prc.Set("Parallel_PoolClient_Test" + index, "Parallel_PoolClient_Test"); var info2 = prc.Get("Parallel_PoolClient_Test" + index); Assert.AreEqual(info2.ToString(), "Parallel_PoolClient_Test"); }); Thread.Sleep(5000); prc.Dispose(); }
public void Pool_Single_Parallel_MultiThread() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port }); Parallel.For(0, 1000, new ParallelOptions() {MaxDegreeOfParallelism = 100}, (index, item) => { var t = new Thread(() => { prc.Set("Parallel_PoolClient_Test" + index, "Parallel_PoolClient_Test"); object info2 = prc.Get("Parallel_PoolClient_Test" + index); Assert.AreEqual(info2.ToString(), "Parallel_PoolClient_Test"); }); t.Start(); }); }
public void Pool_Single_For() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port, MaxClients = 10 }); for (int i = 0; i < 100; i++) { prc.Set("GetMaxClient_Test" + i, "GetMaxClient_Test"); var info2 = prc.Get("GetMaxClient_Test" + i); Assert.AreEqual(info2.ToString(), "GetMaxClient_Test"); } prc.Dispose(); }
public void Pool_Single_Parallel() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port, MaxClients = 20, MinClients = 10, }); Parallel.For(0, 1000, new ParallelOptions() {MaxDegreeOfParallelism = 100}, (index, item) => { prc.Set("Parallel_PoolClient_Test" + index, "Parallel_PoolClient_Test"); var info2 = prc.Get("Parallel_PoolClient_Test" + index); Assert.AreEqual(info2.ToString(), "Parallel_PoolClient_Test"); }); Thread.Sleep(5000); prc.Dispose(); }
public void Pool_Single_TimeOut() { PoolRedisClient prc = new PoolRedisClient(new PoolConfig() { Host = ip, Port = port, MaxClients = 10 }); prc.Set("PoolClient_TimeOut_Test", "PoolClient_TimeOut_Test"); Thread.Sleep(15000); object info2 = prc.Get("PoolClient_TimeOut_Test"); Assert.AreEqual(info2.ToString(), "PoolClient_TimeOut_Test"); prc.Dispose(); }