问题标签 [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.
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?
nhibernate - 为什么 NHibernate 不会在第二个请求上使用二级缓存?
我有以下模型。
然后我有一个查询集合的 test.aspx。
当我重新加载页面时,查询将重新运行。为什么没有从缓存中检索数据?
orchardcms - Orchard 加载时间过长 - 如何设置 SysCache DefaultExpiration?
我有一个简单的 Orchard 网站,里面有大约 100 篇博文。如果没有人进入网站超过 5 分钟,加载页面大约需要 10-15 秒。这只发生在必须加载一堆帖子的博客页面上。其余页面加载速度很快(2-3 秒)。我启用了 SysCache 模块和“预热”。在我启用 SysCache 之前,每次加载博客页面需要 10-15 秒。
我找不到在配置文件中的任何位置覆盖 SysCache DefaultExpiration 属性的方法。我重新编写了 SysCache 插件(复制/粘贴)并硬编码了 DefaultExpirtaion 值(1 天)。它没有任何区别。
我该如何解决这个加载时间问题?
谢谢,
埃亚尔
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:
有关缓存设置的日志信息(如果我使用区域,自然会更改):
有任何想法吗?或者问题可能缺少信息?
谢谢!
c# - 驱逐二级缓存项目 Syscache/Nhibernate
我正在使用 NHibernate 3.3 和 Syscache 二级缓存,我试图从二级缓存中驱逐一个对象,但它似乎不起作用。
我正在根据其他示例使用此代码:
驱逐后,CollectionCache 和 ClassCache 仍然有相同数量的项目。
此外,NhibernateSessionFactory.Instance.Evict(typeof(someObject), SomeObjectId);
似乎没有任何效果。
我的用例:我正在处理分离的对象,当另一个应用程序对数据库进行更改时,我需要从二级缓存中逐出这些项目以保持同步。
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