问题标签 [objectcache]

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 回答
1084 浏览

asp.net - 缓存数据 .Net 4.0 (Asp.NET)

任何人都可以详细解释什么是“ CacheSpecificEviction”以及如何避免它?

我得到这个CacheEntryRemovedArguments.RemovedReason

0 投票
1 回答
449 浏览

android - 如何将一般缓存的对象转换为 android 中的特定对象

我有一个可以将对象保存在内存中的对象缓存类,当我稍后尝试检索它时会出现问题。如何输出通用对象,然后将其放入另一端的已定义对象中。这是课程

从活动开始,我开始对象类,保存它,然后像这样检索它

而不是 Object oi 需要它是一个 Session 对象,但这意味着 getObject 方法的返回类型需要返回它。我不能将对象转换一些吗

0 投票
2 回答
1816 浏览

c# - .net Windows 应用程序中的 ObjectCache

.Net Framework 3.5 中是否包含 ObjectCache 类?

如果没有,是否有将对象存储在缓存中的替代方法(在 Windows 应用程序中而不是 asp.net 中)?

是否有人有任何在线资源或代码片段来演示如何使用 ObjectCache 类?

0 投票
1 回答
613 浏览

c# - ObjectCache 在一致设置后不会立即包含项目

所有-我正在尝试使用新的 ObjectCache 对象创建服务器端缓存。无论出于何种原因,以下内容都会引发异常......

_cache在服务层通过如下方式实例化...

每次设置缓存时都会发生此异常,但第一次除外。例外是代码中显示的那个......“没有将位置添加到缓存中。”

---编辑注释。ObjectCache 是静态的,但由于 MemoryCache.Default 是静态的,因此不需要它是静态的。

0 投票
1 回答
1751 浏览

.net - System.Runtime.Caching 在附加调试器时“忘记”缓存

我有一套应用程序组件,它们需要大型业务对象集合的持久性才能实现合理的性能。这本质上是从数据库中读取并混合成对象以供以后重用的数据。

这个对象集合最初是在 .net 3.5 中实现的,所以为了在 ASP.Net 运行时加载时实现这种持久性,使用了 HttpRuntime.Cache,如果它是由 win 表单客户端加载的,则使用企业库缓存块.

现在,在 .net 4.0 中,System.Runtime.Caching 可用于这些请求。为缓存项获取实现了以下模式。

这似乎可行,但前提是没有附加调试器(vs2010)

一旦我附加了一个调试器,上面提到的缓存存在检查总是什么都不返回。

这些都是关于如何使用 MSDN 中的缓存的死记硬背的例子。是否有我遗漏的东西,或者这是真正出乎意料的行为?

更新:当组件托管在 ASP.net 中时,我看到这种情况发生。我可以构建 DLL,将它们复制到站点,运行一些步骤,并且很好。一旦我附加调试器并再次执行这些步骤,它就会显示此行为。

更新 2:正如这里经常发生的那样,在我发布问题后不久,我从调试器输出窗口中获得了更多错误细节。这个错误细节让我看到了这篇MS Connect 文章。事实证明,当使用远程处理(我是)调用 ASP.NET 托管应用程序时,MemoryCache.Default 似乎将其看门计时器(缓存清理等)绑定到线程上下文。当线程上下文不再可用时,回调失败并且 MemoryCache.Default 似乎停止为所有其他尝试工作。

添加 ExecutionContext.SuppressFlow() (如下面的重做示例所示)似乎停止了这个附件。

我昨天把这个放进去的,从那以后它就很漂亮了。

0 投票
3 回答
12029 浏览

c# - .NET 4 ObjectCache - 我们可以挂钩“缓存过期”事件吗?

我有一个像这样缓存的简单对象:

Where_myCache被声明为ObjectCache(但通过 DI 注入为MemoryCache.Default),someObj是我要添加的对象,并且policyCacheItemPolicy.

如果我有CacheItemPolicy这样的:

这意味着它将在1小时内到期。凉爽的。

但是将会发生的情况是,不幸的第一个用户在一小时后将不得不等待命中。

有什么办法可以挂钩“过期”事件/委托并手动刷新缓存?

我看到CacheEntryChangeMonitor在我的示例中提到了如何使用它,但找不到任何有意义的文档/示例。

PS。我知道我可以CacheItemPriority.NotRemovable手动使用和过期它,但在我当前的示例中我不能这样做,因为缓存的数据有点太复杂了(例如,我需要在我的代码中的 10 个不同位置“无效”)。

有任何想法吗?

0 投票
1 回答
588 浏览

performance - 使用 System..Runtime.Caching 中的 ObjectCache 对站点性能的影响

我正在开发一个使用 ASP.NET MVC3 的在线购物车网站。我正在使用 ObjectCache 和策略 Absolute Expiration 来缓存某些产品。

它是如何工作的?它是启动一种类型的计数器/计时器还是使缓存项过期的东西?
对CPU有影响吗?

0 投票
1 回答
862 浏览

jpa - Eclipselink 共享缓存和@Transient 字段

我在我的实体字段中使用@Transient 注释。如何禁用缓存瞬态字段值,以便从缓存中检索的每个副本都具有默认值。现在,当一个用户更改瞬态值时,其他用户可以看到它(当他从缓存中获取相同的类时)

0 投票
0 回答
105 浏览

asp.net-mvc-3 - 缺少一些通过对象缓存存储在内存中的数据

我正在使用 ASP.NET MVC3。我使用内存中的对象缓存缓存了一些数据。在某些情况下,它选择了一些缓存数据。例如。
我已经存储了整数数组;

整数 [] 我;

我[0]=0;

我[1]=1;

我[2]=2;

我[3]=3;

我[4]=4;

我[5]=5;

和缓存数组 i;
在某些情况下,当我检索数组时,它只会显示 3 个元素。它会选择退出前 2 个元素,之后我永远不会得到前 2 个元素,直到我从 IIS 重新启动应用程序或使用 remove 方法将其从缓存中删除。
我无法弄清楚出了什么问题。可能是什么原因?

0 投票
1 回答
554 浏览

c# - 我的 WCF 服务的 ObjectCache 或本地字段?

我有一个服务,我想在其上实现某种缓存,但我不确定我是否应该使用 .NET 4 的 ObjectCache 或者只是在服务上设置私有字段,一段时间后会刷新。

情况如下: 服务用于返回大块数据。目前,我们在数据库中查找对服务的每个请求的数据。此数据仅在每天午夜刷新一次。我想在服务上缓存这些数据,并在数据库更新后每晚刷新它(比如上午 12:30 左右)。

现在,在过去,我们将填充本地字段并创建一个“监控线程”,该线程将持续运行并在指定的时间后重新填充这些字段。我看到的一个缺点是服务类中有一些额外的代码用于存储。

如果我切换到 ObjectCache,一个好处是过期时自动删除。我想做的是为 CacheEntryRemovedCallback 委托分配一个回调方法,当它被调用时,只需在将来的某个时间重新缓存数据(刷新数据库后大约 30 分钟)。

我的问题是,对于 WCF 服务,缓存数据更理想的选择是什么?