如何将客户类对象数据存储到Redis缓存中?

时间:2015-04-30 05:30:00

标签: asp.net-mvc caching redis stackexchange.redis

redis cache我们可以将数据存储到key value pair

  

如何存储完整的对象数据?

我想在store customer informationredis cache 我试过谷歌并发现以下内容,但我想知道如何使用它可以任何人详细说明吗?

public bool Add<T>(string key, T value, DateTimeOffset expiresAt) where T : class
{
    var serializedObject = JsonConvert.SerializeObject(value);
    var expiration = expiresAt.Subtract(DateTimeOffset.Now);

    return database.StringSet(key, serializedObject, expiration);
}

public T Get<T>(string key) where T : class
{
    var serializedObject = database.StringGet(key);

    return JsonConvert.DeserializeObject<T>(serializedObject);
}

1 个答案:

答案 0 :(得分:3)

将对象序列化为字符串并将其存储在Redis中当然是一种方法。

另一种方法是使用Redis数据结构为自定义对象建模。大多数情况下,这是使用哈希数据类型完成的,但是,根据对象的属性和读/写要求,您可能需要/需要使用其他类型。

还有一些助手库几乎可以自动执行此操作 - 它们通常使用首字母缩写ORM(Object Redis Mapper)或其变体。我对.NET场景并不太熟悉,但这里有一个可以研究的方向:https://github.com/ServiceStack/ServiceStack.OrmLite