问题标签 [syscache]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
618 浏览

nhibernate - How to configure syscache's Region and Expiration using code (not in App.Config xml)

I'm trying to configure NHibernate's 2nd level cache. I want to configure by code and not use xml configuration I've followed most of the tutorial but I can't seem to translate this xml configuration in code:

How can I configure the syscache region and expiration settings using code?

0 投票
1 回答
865 浏览

nhibernate - 为什么 NHibernate 不会在第二个请求上使用二级缓存?

我有以下模型。

然后我有一个查询集合的 test.aspx。

当我重新加载页面时,查询将重新运行。为什么没有从缓存中检索数据?

0 投票
0 回答
410 浏览

orchardcms - Orchard 加载时间过长 - 如何设置 SysCache DefaultExpiration?

我有一个简单的 Orchard 网站,里面有大约 100 篇博文。如果没有人进入网站超过 5 分钟,加载页面大约需要 10-15 秒。这只发生在必须加载一堆帖子的博客页面上。其余页面加载速度很快(2-3 秒)。我启用了 SysCache 模块和“预热”。在我启用 SysCache 之前,每次加载博客页面需要 10-15 秒。

我找不到在配置文件中的任何位置覆盖 SysCache DefaultExpiration 属性的方法。我重新编写了 SysCache 插件(复制/粘贴)并硬编码了 DefaultExpirtaion 值(1 天)。它没有任何区别。

我该如何解决这个加载时间问题?

谢谢,

埃亚尔

0 投票
0 回答
337 浏览

c# - 在 NHibernate 上缓存 sqlquery 时出现 ArgumentNullException

环境: NHibernate 4.0.0.4000;NHibernate.Caches.SysCache 4.0.0.4000; Web MVC/API 4.5.1;FluentNHibernate 1.4.0.0;VS2013;

如您所见,我正在尝试在 nhibernate 上缓存 SQL 查询(无需缓存即可完美运行):

但它不断抛出 ArgumentNullException,请参阅详细信息:

我尝试使用另一个缓存提供程序,即 NHibernate.Caches.RtMemoryCache,但错误是相同的。

调用后也没有记录休眠信息,因为错误显然发生在其管道的早期阶段。

缓存配置,使用 Fluent NHibernate:

有关缓存设置的日志信息(如果我使用区域,自然会更改):

有任何想法吗?或者问题可能缺少信息?

谢谢!

0 投票
1 回答
235 浏览

c# - 驱逐二级缓存项目 Syscache/Nhibernate

我正在使用 NHibernate 3.3 和 Syscache 二级缓存,我试图从二级缓存中驱逐一个对象,但它似乎不起作用。

我正在根据其他示例使用此代码:

驱逐后,CollectionCache 和 ClassCache 仍然有相同数量的项目。

此外,NhibernateSessionFactory.Instance.Evict(typeof(someObject), SomeObjectId);似乎没有任何效果。

我的用例:我正在处理分离的对象,当另一个应用程序对数据库进行更改时,我需要从二级缓存中逐出这些项目以保持同步。

0 投票
1 回答
238 浏览

caching - NHibernate SysCache 不缓存子对象

希望得到您的帮助。我有简单的主子集(“player”和“playerChildObject”)。获取“玩家”也会获取他们链接的孩子。

SysCache 缓存玩家,但不缓存孩子。

以下是对象(均使用 Cache.ReadWrite() 设置):

实体:

映射:

会话工厂也带有“UseQueryCache”和“UseSecondLevelCache”:

以及使用 SetCacheable(true).SetCacheMode(CacheMode.Normal) 的查询本身:

但是,分析器显示玩家被缓存(仅在第一次执行玩家获取代码时调用),而每次通过 PlayerID 检索相同的 PlayerChildObjects。

因此,第一个请求给出 N+1 个 DB 调用(玩家列表 + 每个玩家的子对象),所有连续请求执行 N 次调用(每个玩家的子对象)。

我错过了什么?如何使 SysCache 也缓存子项?

系统缓存版本:3.1.0.4000