将对象传递给DistributedCache设置方法?

时间:2017-03-07 07:53:41

标签: 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";

_distributedCache.Set("model", tModel);

1 个答案:

答案 0 :(得分: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方法。还有异步方法。