我正在测试 Redis,但我遇到了问题。如果我存储超过 8000 个项目,则会丢失超过 2 条记录。丢失的数据量与插入的记录量成正比。
class ProdutoDTO
{
public long id { get; set; }
public string name { get; set; }
}
using (var produtosRedis = redisClient.GetTypedClient<ProdutoDTO>())
{
for (var i = 0; i < 15000; i++)
{
ProdutoDTO produto = new ProdutoDTO();
produto.id = produtosRedis.GetNextSequence();
produto.name = "test" + produto.id.ToString();
produtosRedis.Store(produto);
}
}
我解决了:
旧代码:
class ProdutoDTO {
public long id { get; set; }
public string name { get; set; }
}
新代码:
class ProdutoDTO {
public long Id { get; set; }
public string name { get; set; }
}
因为,C# Redis 客户端适用于任何具有单个主键的 POCO——默认情况下应该是 Id。
有关 C# Redis 的更多信息:ServiceStack.Net Redis:存储相关对象与相关对象 ID