我是Redis和BookSleeve的新手。我正在评估是否应该使用BookSleeve或ServiceStack.Redis。
ServiceStack似乎更为明确,但我喜欢BookSleeve提供的流水线技术。
我有Redis和BookSleeve正在运行,获取和设置字符串非常简单,但我很难找到设置和获取对象集合的示例,例如我的pocos。
public class MyType
{
....
}
IEnumerable<MyType> types = ....
如何使用BookSleeve获取和设置这些内容?
感谢。
答案 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。