我的场景很简单,我有1个表,大约有20个产品,我想使用Fluent NHibernate添加到2级缓存(SysCache)。我用4种不同的方式查询了这个表,所以我想我会经常在缓存中粘贴整个东西并减少数据库命中。
我的4个查询是:
我使用下面的代码在流畅的配置中启用了SysCache,并将相应的配置添加到web.config。
MsSqlConfiguration.MsSql2008.Cache(c => c.ProviderClass<SysCacheProvider>()
.UseQueryCache())
我将以下代码添加到ProductMap
Cache.ReadWrite().Region("testregion");
现在我该如何从这里开始?我是否必须为所有4个查询添加SetCachable(true)?这是正确的方法吗?
我的一部分认为应该有一种方法来缓存All()查询,然后将上面的4个查询指向使用缓存的All()进行查询。也许我的假设是错误的,并且每个查询都需要在查询级别使用SetCachable(true)单独添加到缓存中。
为这种情况设置缓存的正确方法是什么?
由于
答案 0 :(得分:0)
单独启用查询缓存。内置没有快捷方式。
当然你可以添加一个扩展方法,或者使用这样做的基类,但它确实不值得:批量缓存很少提高性能。