草庐IT

缓存失效

全部标签

c# - c# 的磁盘支持字典/缓存

我正在寻找用于缓存大量数据的简单解决方案。相关问题,但针对不同的语言:PythonDisk-BasedDictionaryDisk-backedSTLcontainerclasses?以不同的方式结束问题:LookingforasimplestandalonepersistantdictionaryimplementationinC#我不需要(或不想为)持久性、事务、线程安全或类似的东西付出任何代价,并且想要一些使用起来不比List或Dictionary复杂多少的东西。如果我必须编写代码,我会将所有内容作为文件保存在临时目录中:stringGet(inti){File.ReadAllT

c# - SslStream,禁用 session 缓存

MSDNdocumentation说TheFrameworkcachesSSLsessionsastheyarecreatedandattemptstoreuseacachedsessionforanewrequest,ifpossible.WhenattemptingtoreuseanSSLsession,theFrameworkusesthefirstelementofClientCertificates(ifthereisone),ortriestoreuseananonymoussessionsifClientCertificatesisempty.如何禁用此缓存?目前我在重新

c# - appfabric 缓存清除所有对象

是否有建议的方法来清除DataCache中的所有对象?我可以使用DataCache.GetObjectsByAllTags方法,但这需要一个区域,我无法使用该区域,因为我需要在多个缓存主机之间共享对象。 最佳答案 DataCache对象上没有简单的.Clear(),但使用以下将清除Appfabric主机上的缓存:/*假设DataCache是正确设置的Microsoft.ApplicationServer.Caching.Client.DataCache对象*/publicvoidClear(){Parallel.ForEach(Da

c# - 为什么在 oauth2 中缓存访问 token 被认为是不好的?

我正在关注这篇文章以撤销用户访问:http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/现在考虑在验证用户后,我已经发布了一个生命周期为30分钟的访问token,如上面的文章所示,刷新token为1天,但是如果管理员在10分钟内删除该用户,还剩下20分钟,那么现在在这种情况下我需要撤销该用户的访问权限。为了做到这一点,我需要从刷新token表中删除该用户条目以禁止进一步的访问token请求,但由于访问token过期时间仍有20分钟,因此

c# - 是否可以检查缓存的正则表达式的数量?

Regex.CacheSizePropertyGetsorsetsthemaximumnumberofentriesinthecurrentstaticcacheofcompiledregularexpressions.TheRegexclassmaintainsaninternalcacheofcompiledregularexpressionsusedin>staticmethodcalls.Ifthevaluespecifiedinasetoperationislessthanthecurrent>cachesize,cacheentriesarediscardeduntilth

c# - 我可以请求 SQL Server 缓存某个结果集吗?

某个查询正在从ASP.NET页面调用。我在ManagementStudio中研究了该查询的执行计划,87%用于排序。我非常需要排序,否则显示的数据将毫无意义。我是否可以请求SQLServer缓存排序的结果集,以便在后续运行中更快地返回数据?或者SQLServer是否足够智能来进行缓存处理,如果可能的话,我试图强制它缓存结果是不是犯了错误?任何相关信息将不胜感激,并提前致谢:)更新:我刚刚在一篇文章中读到,使用聚簇索引创建View会提高性能,因为索引会将View中的数据持久保存到磁盘。这是真的?我该怎么做?有文章吗? 最佳答案 虽然您

c# - 每个用户的输出缓存

你好有一个内存密集型仪表板,每个用户都不同。如何根据当前登录的用户ID缓存响应,该用户ID未作为参数传递但需要从当前登录的用户派生。我的理解是VaryByParam查看请求上下文数据库中还有一个值,当这个值改变时需要重置缓存 最佳答案 在您的Web.config中:在你的Controller/Action中:[OutputCache(CacheProfile="Dashboard")]publicclassDashboardController:Controller{...}然后在您的Global.asax中://stringarg

c# - ASP.Net 中的数据缓存与 session 对象

站点的动态业务对象应该存储在用户session中还是使用ASP.Net缓存(订单、个人资料信息等对象)?我曾使用过使用session来存储业务对象的网站,但我想知道...缓存的优点或缺点是什么? 最佳答案 如果对象可在用户session之间共享,则使用缓存。如果对象对于每个session都是唯一的——可能是因为它们受权限控制——则将其存储在session中。进程内session本身存储在缓存中,因此决定因素实际上应该是数据的范围。 关于c#-ASP.Net中的数据缓存与session对象

c# - 生成 CPU 缓存未命中时的性能

我正在尝试了解.NET世界中的CPU缓存性能。具体来说,我正在研究IgorOstovsky的articleaboutProcessorCacheEffects.我已经研究了他文章中的前三个示例,并记录了与他的大相径庭的结果。我想我一定是做错了什么,因为我机器上的性能显示的结果与他在文章中显示的结果几乎完全相反。我没有看到我预期的高速缓存未命中的巨大影响。我做错了什么?(错误代码、编译器设置等)这是我机器上的性能结果:如果有帮助,我机器上的处理器是IntelCorei7-2630QM。这是关于我的处理器缓存的信息:我在x64Release模式下编译。下面是我的源代码:classProgr

c# - 如何在具有自己的用户类型的延迟加载属性上激活二级缓存?

前言:在我的应用程序中,我将原始WAV数据作为byte[]存储在数据库中。在我的域模型中,有一个类PcmAudioStream代表原始WAV数据。我创建了NHibernate的IUserType的实现,以在我的类和byte[]之间进行转换。有几个使用PcmAudioStream类的类,所有这些类都映射到数据库表。为避免在从此类表中检索行时始终加载所有WAV数据,我创建了FluentNHibernate的IUserTypeConvention的实现,该实现指定应始终延迟加载这些属性。所有这些都非常有效。问题:因为这些PcmAudioStream的内容很少改变,所以我想将检索到的实例放在二