我在考虑将Couchbase用作缓存层。我意识到Couchbase提供的许多优点,例如简单的可扩展性。但更让我感兴趣的是couchbase的丰富文档模型,与memcached的简单键值模型相比。Couchbase作为缓存和缓存失效
我的RDBMS是SQL Server,我们使用NHibernate。查询和数据库已经非常优化,我认为缓存是进一步扩展的最佳选择。
我的项目是实现一个简单的实体之间的关系模型(比RDBMS中的简单得多)来处理失效。当应用程序使实体失效(从缓存中删除)时,所有依赖实体也可以被删除。定义实体之间依赖关系的逻辑将由专用组件在应用程序级别处理。将有10或12个不同的实体(我不想缓存我的所有应用程序域)。
我的文档模型在Couchbase应该是这样的:
- 键(一个应用程序生成的),键的格式取决于实体类型
- 散列键(有一个统一的唯一密钥翻过所有实体)
- 实体
- 依赖 - 当主实体被删除,必须删除的实体的哈希键列表
所以我的问题是:
- 失效时,我们需要解析依赖关系图(异步)。用大约500k实体查找特定密钥是否快速?
- 关于整体想法的任何反馈?
维护实体之间的依赖关系可能非常简单,并且可能不是什么大问题。
皮埃尔
您需要执行多少次“失效”?你是说整体500K实体还是每次500K无效? – theMayer