2
public class MyEntity
{
    public string Att1 { get; set; }
    public DateTime Att2 { get; set; }
    public KeyValuePair Att3 { get; set; }
    public Dictionary Att4 { get; set; }
}

var list = new List<MyEntity>(100);
//put to cache .....
var cached = RedisClient.Get<List<MyEntity>>(key) ; // take 9745.9745 ms
var raw = RedisClient.Get(key); //get raw of the same key just take < 10 ms

我应该使用 Json.net 进行 json 序列化并改用 RedisClient.Get 吗?

4

1 回答 1

4

您可能会受到第一次缓存命中惩罚的影响。从计时中取出每个 API 的每次调用中的第一个。

RedisClient 使用下面的 JsonSerializer,它做的事情完全一样,从 Redis 中拉出一个字符串并调用 JsonSerializer 来反序列化类型。

于 2012-11-09T03:32:50.090 回答