我必須存儲複雜的對象到redis cash.H我使用stackexchange.redis來做到這一點。我的類如下所示。如何將複雜的對象存儲在c#中的redis散列?
public class Company
{
public string CompanyName { get; set; }
public List<User> UserList { get; set; }
}
public class User
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Twitter { get; set; }
public string Blog { get; set; }
}
我的代碼片段將數據存儲在Redis的是:
db.HashSet("Red:10000",comapny.ToHashEntries());
//序列化格式的Redis:
public static HashEntry[] ToHashEntries(this object obj)
{
PropertyInfo[] properties = obj.GetType().GetProperties();
return properties
.Where(x => x.GetValue(obj) != null) // <-- PREVENT NullReferenceException
.Select(property => new HashEntry(property.Name, property.GetValue(obj)
.ToString())).ToArray();
}
我可以存儲在Redis的數據,但並不像我想我正在創建結果,如下圖所示。 我想要UserList
json格式的值。所以,我該如何做到這一點。
你可以試試[CachingFramework.Redis(https://開頭的github .com/thepirat000/CachingFramework.Redis),SE.Redis的一個包裝,增強了一些可配置的序列化機制。 – thepirat000