memorycache相关内容
我在 ASP.NET 中使用 MemoryCache 并且运行良好.我有一个对象缓存了一个小时,以防止从存储库中提取新的数据. 我可以看到缓存在调试中工作,而且一旦部署到服务器,在第一次调用并缓存对象后,后续调用的时间约为 1/5. 但是我注意到每个 新 客户端调用(仍然在 1 小时窗口内 - 实际上只是一两分钟后)似乎对我的服务进行了第一个调用(正在执行缓存)几乎与缓存数据之前的原始
..
我正在使用 .NET 4.0 MemoryCache 类并试图限制最大缓存大小,但在我的测试中,缓存似乎并未实际遵守限制. 我使用的设置,根据MSDN,应该限制缓存大小: CacheMemoryLimitMegabytes:对象实例可以增长到的最大内存大小(以兆字节为单位)." PhysicalMemoryLimitPercentage: "缓存可以使用的物理内存的百分比,表示为1到
..
我在使用新的 .NET 4 System.Runtime.Caching MemoryCache 的 MVC 3 应用程序中遇到问题.我注意到,在一段看似不可预测的时间之后,它会停止缓存内容,并且表现得好像它是空的.考虑一下我直接从 ASP.NET MVC 中的测试视图中获取的这段代码: MemoryCache.Default.Set("myname","fred", new CacheItem
..
对于初学者,让我把它扔到那里,我知道下面的代码不是线程安全的(更正:可能是).我正在努力寻找一种实现,我实际上可以在测试中失败.我现在正在重构一个大型 WCF 项目,该项目需要缓存一些(主要是)静态数据并从 SQL 数据库填充它.它需要每天至少过期和“刷新"一次,这就是我使用 MemoryCache 的原因. 我知道下面的代码不应该是线程安全的,但我不能让它在重负载下失败并使事情复杂化,谷歌
..
我在 Microsoft.Extensions.Caching.Memory.MemoryCache 中设置了具有滑动到期时间的缓存项.我想在每次缓存项过期时触发回调,但直到我查询缓存中的过期缓存项时才会触发回调. 代码如下: 使用系统;使用 Microsoft.Extensions.Caching.Memory;命名空间内存缓存{公开课计划{私有静态 MemoryCache _cache
..
AuthenticationRequiredAttribute 类 公共类 AuthenticationRequiredAttribute : ActionFilterAttribute{ILoginTokenKeyApi _loginTokenKeyApi;IMemoryCache _memoryCache;公共 AuthenticationRequiredAttribute(IMemoryC
..
我想使用 System.Runtime.Caching 命名空间向我的应用程序添加缓存功能,并且可能希望在多个位置和不同上下文中使用缓存.为此,我想使用多个 MemoryCache 实例. 但是,我看到这里不鼓励使用多个 MemoryCache 实例: MemoryCache 不是单例,但您应该只创建几个或可能只创建一个 MemoryCache 实例,并且缓存项目的代码应该使用这些实例
..
我使用 MemoryCache 类创建了一个缓存.我向其中添加了一些项目,但是当我需要重新加载缓存时,我想先清除它.执行此操作的最快方法是什么?我应该遍历所有项目并一次删除一个还是有更好的方法? 解决方案 Dispose 现有的 MemoryCache 并创建一个新的 MemoryCache 对象.
..
我正在尝试编写一个类来处理 .net 核心类库中的内存缓存.如果我不使用核心,那么我可以写 使用 System.Runtime.Caching;使用 System.Collections.Concurrent;命名空间 n{公共类 MyCache{只读 MemoryCache _cache;readonly Func_cachePolicy;static readonly ConcurrentD
..
在 ASP.NET Core 中很容易从控制器访问你的内存缓存 在您的启动中添加: public void ConfigureServices(IServiceCollection services){services.AddMemoryCache();} 然后从您的控制器 [Route("api/[controller]")]公共类 MyExampleController :控制器{
..
我有这样的缓存服务: 公共接口ICacheService {T Get(字符串cacheID,Func getItemCallback,int cacheMinutes = 5),其中T:类;}公共类MemoryCacheService:ICacheService {public T Get(string cacheId, Func getItemCallback, int ca
..
我们将使用ASP.NET Core的内置内存缓存解决方案来缓存外部系统响应.(稍后我们可能会从内存转移到 IDistributedCache .) 我们要使用 Mircosoft.Extensions.Caching.Memory 's IMemoryCache 作为在中构建并调试了单元测试,并在 MemoryCache在后台触发压缩.这将逐出最早的(MRU)缓存条目,直到已在完整高速缓存的代码
..
我正在使用.NET 4的System.Runtime.Caching中的MemoryCache,并且希望在目录更改时使缓存条目无效. HostFileChangeMonitor应该可以处理文件和目录,所以我要这样添加它: var cacheItemPolicy = new CacheItemPolicy {SlidingExpiration = TimeSpan.FromMinutes(
..
应用程序需要加载数据并缓存一段时间.我希望,如果应用程序的多个部分希望同时访问相同的缓存键,则缓存应该足够聪明,以仅加载一次数据并将该调用的结果返回给所有调用者.但是, MemoryCache 没有这样做.如果并行命中缓存(这在应用程序中经常发生),则每次获取缓存值的尝试都会创建一个任务.我以为这段代码可以达到预期的效果,但是没有达到目的.我希望缓存仅运行一个 GetDataAsync 任务,等待
..
在控制器类中,我有 using Microsoft.Extensions.Caching.Memory; private IMemoryCache _cache; private readonly MemoryCacheEntryOptions CacheEntryOptions = new MemoryCacheEntryOptions() .SetSize(1) // K
..
因此,在今天更新到AspNetCore 3之前,一切都很好. 我正在使用具有依赖项注入(IMemoryCache cache)的内存缓存. 我使用services.AddMemoryCache(); 将其添加到我的中间件中,但没有设置大小,但最终还是出现错误消息: 设置SizeLimit时,缓存条目必须为Size指定一个值. 当我检查MemoryCache的实例时,确实确实
..
我正在尝试在Rails 5.2.1中设置模型和片段缓存 我已经成功地使用了片段缓存,但是在为我的模型实现模型缓存之后,我仍然看到数据库查询. 我启用了开发缓存 $ rails dev:cache 模型助手 module LanguagesHelper def approved_languages Rails.cache.fetch("approved_lan
..
如何从ASP.NET Core正确清除IMemoryCache? 我相信此类缺少Clear方法,但是无论如何该如何处理?在我的项目中,我将DocumentRepository的方法缓存了24小时,从数据库中获得了很多行.但是有时候我可以更改数据库,所以我想清除IMemoryCache,因为它有垃圾数据. 解决方案 要清除您的MemoryCache,只需按键删除您的内存缓存,就像这样:
..
我有一个具有asp.net核心和实体框架核心的项目,出于性能原因,我使用MemoryCache. ForumQueryManager类用于查询论坛数据,而该类数据用于使用CacheManager的Get方法以及传递cachekey和timeout的缓存时间,以及一种用于确定何时缓存为空以从数据库中检索数据的方法.此代码几乎总是可以工作.但有时会抛出异常 例外: 处理请求时发生未处理的异
..
以下方法通过等待已经运行的操作的结果来处理并发请求. 对数据的请求可能同时具有相同/不同的凭据.对于每组唯一的凭据,最多只能进行一个GetCurrentInternal调用,并且该调用的结果将在准备就绪时返回给所有排队的服务员. private readonly ConcurrentDictionary> _dataToCredentia
..