问题标签 [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.
c# - 我可以找到最后一次访问 MemoryCache 项目的时间吗?
在 .NET 4MemoryCache
中,有没有办法找到上次访问项目的时间?我确信它在内部被跟踪,因为CacheItemPolicy
有财产SlidingExpiration
。但是我一直找不到任何地方可以阅读它。
大局,我正在寻找一种方法来手动从缓存中删除最旧的n个条目。
c# - 在 ObjectCache 中存储项目:无法获取旧值
我使用ObjectCache 的MemoryCache.Default实例在 MVC 应用程序中存储数据;每次我保存一些项目而不是立即阅读它时,我都会看到项目按预期存储。但是当创建 Cashing 类的新实例(我的意思是使用 ObjectCache 的类)时,我无法访问旧值。我已经实现了单例只保留ObjectCache 的一个实例,但这对我没有帮助。
任何人都可以解释为什么缓存类的每个新实例(最后一个代码)我无法访问旧值。谢谢。
list - 维护清单在像数据库一样的缓存中
我有一个要求,我需要在内存中维护一个列表。
例如 -
每个用户都将运行应用程序并从列表中添加新产品/更新产品/删除产品,所有更改都应反映在该列表中。
我正在尝试将列表存储在对象缓存中。
但是当我运行应用程序时,它会创建产品,但是当我第二次运行它时,列表不在缓存中。需要帮助。
以下是代码 -
即使应用程序未运行,我如何确保列表是持久的,这可能吗?还如何保持缓存处于活动状态并在下次检索相同的缓存。
非常感谢您的帮助。
.net - 使用 System.Runtime.Caching,是否有存储缓存的物理位置?
我想知道缓存是否存储在物理位置,如果有,可以更改位置吗?
c# - CacheItemPolicy - SlidingExpiration“已访问”规则?
“在从缓存中逐出缓存条目之前必须访问缓存条目的时间跨度。默认值为 NoSlidingExpiration,这意味着该项目不应基于时间跨度过期。”
究竟什么是“访问”?这是否意味着如果我点击缓存的项目,例如:
它被认为是“访问”?
还是仅在我实际修改缓存项目时才被视为已访问?
c# - ObjectCache CachedObjectRemovedCallback 没有被调用?
我有一个 WCF 服务,它正在实现一个自定义 ObjectCache 来缓存第 3 方 COM 对象,以便与 3270 环境进行交互。
此第 3 方对象适用于许可模型,因此每次从缓存中删除对象时都必须调用我的 RemovedCallBack 以释放许可证。
我的问题是,我一直在使用许可证,但 ObjectCache 中什么也没有。这似乎项目正在从缓存中删除,但没有击中回调。这可能吗?如果我的缓存对象正在被 GC 清理,它们是否也会触发回调?
这是我的实现:
正在使用以下方式将项目添加到缓存中:
和删除的回调:
c# - 调用回调函数后 ObjectCache 不更新
上下文:我需要一个类来将一些关键字从文本文件中放入缓存中。我在该文件上放置了一个侦听器,因此当它被修改时,缓存会自行更新。
ASP .NET MVC 3 -- 框架 4.5
全球.asax:
BigBrother.cs 类:
缓存.cs:
所以常见的工作流程是: 1. Application_Start 被触发,BigBrother 通过回调函数将关键字放入缓存中(效果很好) 2. 监听文件“keywords.txt” 3. 当文件“keywords.txt”被编辑时,刷新缓存(其实是调用了ReInitiateCaching,但是我的缓存项“surveillanceKeywords”返回null)
整个事情在我的本地环境中工作,但它不在服务器上工作。我错过了什么吗?
谢谢你。
c# - ObjectCache 不保留排序顺序
我正在将数据库中的数据存储到 ObjectCache 中。
使用for
语句循环遍历每一行,同时使用.Set()
数据存储良好,但与数据库中的原始数据集完全不同。我如何能够保留插入缓存的原始排序顺序?
我想避免Dictionary<string,object>
在 ObjectCache 中重新制作,以便在插入后按我想要的方式排序,因为它比我希望的要多得多。任何人都知道添加到缓存时如何保留原始排序顺序?不幸的是,对键进行排序无济于事,它需要按object
.
asp.net-mvc - 从另一个应用程序中清除一个应用程序的 System.Runtime.ObjectCache
我有一个ASP.NET MVC
使用System.Runtime.ObjectCache
.
我想从托管在另一台服务器上的另一个应用程序 y.com 中清除 x.com 的缓存。
x.com 托管在负载平衡的环境中。应从负载平衡环境中的所有服务器中清除缓存。
谁能建议如何实现这一点?
c# - 清除部分匹配键的缓存
所以我使用的是 C# ObjectCache 实例。我有几个对象存储在缓存中,它们引用相同类型的实体,但可能因用户而异。因此,为了将此项目保存在缓存中,我制作了一个复合键,格式如下
可能具有以下值:
“dogKey_black_johndoe”、“dogKey_white_johndoe”、“dogKey_black_marydoe”
我想在我的应用程序中的某个时间点为特定用户删除存储在缓存中的所有狗实体。就像是
它将作为 objectKey 接收“dogKey”字符串,并作为用户“johndoe”接收。我想要的是通过调用cache.Remove()
. ObjectCache
我怎样才能做到这一点?我可以遍历所有缓存元素还是有办法部分匹配键?(也许是正则表达式?)问候路易斯。