0

我正在测试 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

4

0 回答 0