public void SetAndGetClass()
        {
            var redisClass = new RedisClass<Person>(RedisServer.Default, HashKey0);
            var person = new Person { Name = "Tom" };

            var result = Task.Run(async () => { return await redisClass.Set(person); });
            var resultBool = result.Result;

            Assert.IsTrue(resultBool);

            var copy = Task.Run(async () => { return await redisClass.Get().ConfigureAwait(false); });

            var copyResult = copy.Result;

            Assert.AreEqual(person, copyResult);
            Assert.AreEqual(person.Name, copyResult.Name);
            Assert.AreEqual(person.Age, copyResult.Age);
        }
        public void SetAndGetClass()
        {
            var person = new Person { Name = "Tom" };

            // NOTE: Pretty sure this will be the same as the string test above.
            var result = Task.Run(async () => { return await _client.AddAsync(HashKey0, person).ConfigureAwait(false); });

            Assert.IsTrue(result.Result);

            var copy = Task.Run(async () => { return await _client.GetAsync<Person>(HashKey0).ConfigureAwait(false); });

            var copyResult = copy.Result;

            Assert.AreEqual(person, copyResult);
            Assert.AreEqual(person.Name, copyResult.Name);
            Assert.AreEqual(person.Age, copyResult.Age);
        }
        public void SetAndGetString()
        {
            // Create RedisString... (or you can use RedisSettings.Default.String<Person>("key"))
            var redis = new RedisString<Person>(RedisServer.Default, StringKey0);
            var person = new Person { Name = "John", Age = 34 };

            // call command(IntelliSense helps you)
            var result = Task.Run(async () => { return await redis.Set(person).ConfigureAwait(false); });

            Assert.IsTrue(result.Result);

            // call command(IntelliSense helps you)
            var copy = Task.Run(async () => { return await redis.Get().ConfigureAwait(false); });

            var copyResult = copy.Result.Value;

            Assert.AreEqual(person, copyResult);
            Assert.AreEqual(person.Name, copyResult.Name);
            Assert.AreEqual(person.Age, copyResult.Age);
        }
        public void SetAndGetString()
        {
            var person = new Person { Name = "John", Age = 34 };

            var result = Task.Run(async () => { return await _client.AddAsync(StringKey0, person).ConfigureAwait(false); });

            Assert.IsTrue(result.Result);

            var copy = Task.Run(async () => { return await _client.GetAsync<Person>(StringKey0).ConfigureAwait(false); });

            var copyResult = copy.Result;

            Assert.AreEqual(person, copyResult);
            Assert.AreEqual(person.Name, copyResult.Name);
            Assert.AreEqual(person.Age, copyResult.Age);
        }