Redis在Web应用程序中的最佳对象生存期策略是什么

Ser*_*cel 5 benchmarking db4o object-lifetime entity-framework-4 redis

  • 我将计划使用Redis(ServiceStack)作为Web应用程序的整个数据库.
  • 我可以在7.4秒内插入76000条记录.
  • 但是使用单一连接(RedisClient对象生命周期是应用程序),
  • 我使用Set泛型方法而非Store(巨大的性能差异)

我曾使用Per-Request对象生命周期来实现Entity Framework ObjectContext.

那么Redis(ServiceStack)的Web应用程序(Asp.Net MVC)中对象生命周期的最佳策略是什么?

或者Redis不是100个Sql Server Tables的成熟项目(各种各样的相互关联)

我完全糊涂了......我想将实体存储在DB4O中(我恐怕'DB4o也是嵌入式Java Db'的口号),Redis中的关系?!

并支持在EF4中包含概念.

我的整个项目将拥有1.000.000个实体,100,000个关系!(我有3年实体框架1-4经验)

myt*_*thz 3

ServiceStack Redis 客户端包括 2 个线程安全连接管理器:

  • PooledRedisClientManager - 是连接池实现,其中 RedisClient 被池化。远程访问 redis-server 时推荐使用。

  • BasicRedisClientManager - 每次返回一个新的 RedisClient 实例,如果 redis-server 与 ASP.NET Web 应用程序位于同一服务器上,则建议这样做。

注意 Redis 不是 RDBMS,它是一个数据结构服务器,提供对服务器端键值、集合、排序集、哈希和列表的原子访问。您需要使用自定义索引来维护自己的关系,您可以在RedisStackOverflow演示应用程序的源代码中看到这样的示例。

您还应该查看使用 Redis 设计一个简单的博客应用程序

否则,ServiceStack C# RedisClient wiki是有关如何使用 C# Redis 客户端的文档的最佳位置。