使用BookSleeve保存对象集合

时间:2013-01-26 22:41:34

标签: booksleeve

我是Redis和BookSleeve的新手。我正在评估是否应该使用BookSleeve或ServiceStack.Redis。

ServiceStack似乎更为明确,但我喜欢BookSleeve提供的流水线技术。

我有Redis和BookSleeve正在运行,获取和设置字符串非常简单,但我很难找到设置和获取对象集合的示例,例如我的pocos。

public class MyType
{
....
}

IEnumerable<MyType> types = ....

如何使用BookSleeve获取和设置这些内容?

感谢。

2 个答案:

答案 0 :(得分:5)

BookSleeve公开API以读取/写入字符串和blob(byte []),但它不会强制您删除任何特定的序列化路由,或者指示集合是应该存储为单个值还是列表等。

基本上,使用BookSleeve,您可以通过任何您喜欢的序列化程序(XML,json,protobuf等)单独序列化,并发送 。这通常只有大约2或3行代码(通常涉及MemoryStream)。

答案 1 :(得分:1)

使用ServiceStack.Redis时,只需要:

var redisClient = new RedisClient();
redisClient.StoreAll(myTypes);

不确定您正在寻找什么流水线功能,但您可以使用ServiceStack.Redis's transactions API创建自定义流水线操作(这些操作始终是流水线的)或者您不希望执行操作在交易中,您可以使用Redis.CreatePipeline() - 请参阅这些tests for some examples