2017-03-07 111 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方法,其接收並返回字節。也有可用的異步方法。