C# 将对象传递给DistributedCache集方法?

C# 将对象传递给DistributedCache集方法?,c#,asp.net-core,.net-core,C#,Asp.net Core,.net Core,我正在使用这个软件包Microsoft.Extensions.Caching.Redis。 通过tModel设置缓存并从缓存中获取缓存的方法是什么 public class TestModel { public int test1 { get; set; } public string test2 { get; set; } } var tModel = new TestModel(); tModel.test1 = 1; tModel.test2 = "abc"; _di

我正在使用这个软件包
Microsoft.Extensions.Caching.Redis
。 通过
tModel
设置缓存并从缓存中获取缓存的方法是什么

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);

我会将数据序列化为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);
使用Newtonsoft.Json;
// ...
//设置
var jsonData=JsonConvert.SerializeObject(tModel);
_distributedCache.SetString(“model”,jsonData);
//得到
var jsonData=_distributedCache.GetString(“模型”);
var tModel=JsonConvert.DeserializeObject(jsonData);
注意,我在这里使用了
GetString
SetString
扩展方法,而不是低级的
Get
Set
方法,该方法获取并返回字节。还有一些异步方法可用