2017-03-07 103 views
0

我正在使用这个软件包Microsoft.Extensions.Caching.Redis。 什么是通过tModel设置和获取缓存的方式。将对象传递给DistributedCache set方法?

public class TestModel 
{ 
    public int test1 { get; set; } 

    public string test2 { get; set; } 
} 

var tModel = new TestModel(); 
tModel.test1 = 1; 
tModel.test2 = "abc"; 

_distributedCache.Set("model", tModel); 

回答

1

我将序列数据以JSON和坚持其作为字符串:

using Newtonsoft.Json; 

// ... 

// Set 
var jsonData = JsonConvert.SerializeObject(tModel); 
_distributedCache.SetString("model", jsonData); 

// Get 
var jsonData = _distributedCache.GetString("model"); 
var tModel = JsonConvert.DeserializeObject<TestModel>(jsonData); 

通知我用GetStringSetString扩展方法在这里,而不是低级别GetSet方法,其接收并返回字节。也有可用的异步方法。