我在C#中使用。目前,我存储数据的方式如下:
var listTypedRedis = db.As<MyObject>();
foreach (var obj in myObjects)
{
listTypedRedis.AddItemToList(listTypedRedis.Lists["urn:list"], obj);
}我成功地存储了大约6000张唱片。我在检索记录时遇到了问题,因为它看起来比SQL慢。
取Redis 138 SQL,取SQL 105 SQL
我检索数据的方式如下:
return (db.As<MyObject>().Lists["urn:list"].GetAll());上面的代码有什么问题吗?是因为反序列化导致它变慢了吗?谢谢!
发布于 2012-10-09 19:53:03
每当处理远程数据存储时,考虑在可能的情况下使用批处理方法。例如,在ServiceStack.Redis中,您可以使用AddRangeToList向列表中添加多个项。
Redis 中的每个操作都生成一个网络调用,您希望尽可能地优化它。RedisClient中有许多批处理操作,它还支持流水线和交易记录,它们都是流水线(redis docs),允许您以更少的套接字写入来批处理多个操作。
https://stackoverflow.com/questions/12806760
复制相似问题