2017-01-26 35 views
3

我curently使用C#ServiceStack RedisClient下列方式IRedisClient.As <T>()在幕後做了什麼?

using (var cache = new BasicRedisClientManager(readWriteHosts).ClientFactory.GetClient()) 
    { 
     var r = cache.As<Foo>(); 
     var myItem = r.GetById(123); 
    } 

我想知道這個幕後發生了什麼? Redis如何知道哪種類型與哪個密鑰相關?它不能檢查每種類型的比賽,那太慢了。當我設置對象時,我自己將其序列化並將其添加爲字符串 - 因此它無法從那裏知道。

它非常有效,我甚至試着改變類型的屬性和命名空間來看看會發生什麼,它只是處理它。有誰知道如何

+1

好的,請親自看看 - https://github.com/ServiceStack/ServiceStack.Redis/blob/2b833b6e574067bc94dd5a504cf2fd5d6e7ce12c/src/ServiceStack.Redis/RedisClient.cs – eocron

回答