如何将数据表存储在缓存中以便重复使用?

2024-04-08

在我的应用程序中,我使用了通用处理程序来处理请求。

我想要一种机制,如果第一次请求到达处理程序,它会向服务器发出请求,然后缓存整个数据表,因此对于即将到来的请求,如果下一个请求的产品代码存在于缓存的数据表中,则它不应该去再次获取数据的服务器;它应该只检查缓存数据表的数据。

如何在缓存中设置数据表?


有类似的东西吗?

public DataTable GetDataTableFromCacheOrDatabase()
{
   DataTable dataTable = HttpContext.Current.Cache["secret key"] as DataTable;
   if(dataTable == null)
   {
       dataTable = GetDataTableFromDatabase();
       HttpContext.Current.Cache["secret key"] = dataTable;
   }
   return dataTable;
}

如果数据表发生变化,您将需要某种机制来从缓存中刷新数据表。例如,您可以使用SqlCache依赖项 http://msdn.microsoft.com/en-us/library/system.web.caching.sqlcachedependency.aspx.

根据要求,要在添加表一小时后清除缓存,您可以执行以下操作:

HttpContext.Current.Cache.Insert("secret key", dataTable, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将数据表存储在缓存中以便重复使用? 的相关文章

随机推荐

  • jQuery .animate() 回调无限循环

    一个简单的问题 为什么我可以这样做 var start function element animate 5000 linear start 但不是这个 function start element animate 5000 linear
  • Spark 窗口函数需要 HiveContext?

    我在这个博客中尝试了 Spark 上的窗口函数的一个示例http xinhstechblog blogspot in 2016 04 spark window functions for dataframes html http xinhs
  • 使用 Ubuntu 在虚拟机上安装 Kubernetes

    我正在尝试在 Ubuntu 16 04 VM 上安装 Kubernetes 我尝试了这个https kubernetes io docs getting started guides kubeadm https kubernetes io
  • json/ld ArticleBody 值内的 Html 标签?

    如果我想创建一个Article https schema org Article schema org 类型使用 json ld 格式 我是否必须将 html 标签放入articleBody的价值 因为我发现如果我使用微观数据 结构化数据工
  • getInputStream() 上的 java.io.FileNotFoundException

    我正在尝试从 URL 获取InputStream 连接响应代码是200 但我遇到了例外FileNotFoundException当我尝试 getInputStream 时 这是我的代码 url new URL http connection
  • 未找到“Google\Cloud\Storage\StorageClient”类

    use Google Cloud Storage StorageClient require DIR vendor autoload php storage new StorageClient 这是我的代码 这里我在 Windows 上安装
  • Keras 看到我的 GPU,但在训练神经网络时不使用它

    Keras TensorFlow 不使用我的 GPU 为了尝试让我的GPU与tensorflow一起工作 我通过pip安装了tensorflow gpu 我在Windows上使用Anaconda 我有nvidia 1080ti print
  • 什么是 RMI 注册表

    什么是 RMI 注册表 它有什么作用 本质上 RMI 注册表是服务器注册其提供的服务的地方 也是客户端查询这些服务的地方 看Java RMI简介 http www javacoffeebreak com articles javarmi j
  • JEdi​​torPane 的 html 中的插入符位置

    JEdi torPane 的 getCaretPosition 方法提供 html 控件的仅文本部分的索引 是否有可能将索引放入html文本中 更具体地说 假设我有一个 html 文本 其中 表示插入符号位置 abcd img src 1
  • 使用 OOP 的闭包方法时如何实现受保护的成员?

    现在我正在使用实施 OOP 的闭包 http lua users org wiki ObjectOrientationClosureApproach在卢阿 下面是一个简短的示例 我的问题发生在尝试实施时stronger heal insid
  • 为什么选择 Eigen 作为 TensorFlow? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 TensorFlow白皮书提到使用了Eigen 是否有关于如何选择 Eigen 的公开解释 它们是在 T
  • 为 Atom feed 创建 XSL

    我正在创建一个小的自定义 XSL 文件来呈现 RSS 提要 内容是基本的 如下 除非源 XML 在提要定义中包含行 xmlns http www w3 org 2005 Atom 否则此方法可以正常工作 我该如何解决这个问题 我对命名空间不
  • 如何让不和谐机器人添加你为好友

    我正在创建一个不和谐机器人 我想将其添加到 DM 组中 这样我就可以保持较低的服务器级别 但是 您无法将不是朋友的人添加到群组 DM 中 有没有办法让不和谐机器人接受好友请求 不可能 机器人帐户无权使用 Discord 的关系端点 这意味着
  • 领事注销“失败”服务

    我有 Consul 在 Consul v0 5 2 版本上运行 服务在 Mesos 中运行 服务不断从一台服务器转移到另一台服务器 有没有办法取消领事中处于 失败 状态的服务 我可以使用此curl 获取处于失败状态的服务列表 curl ht
  • 具有多个计数子查询的 SELECT 查询

    我刚刚为报告编写了这个查询 但我最初编写它时没有在每个子查询上使用日期范围过滤器 但这没有用 所以我将它添加到每个子查询中 这很有效 但我真的不喜欢每次都重复它 是否有语法可以更简单地完成同样的事情 SELECT Count r id AS
  • 聚合、组合、关联、直接关联

    我正在复习面向对象编程方面的知识 在类之间的关系主题下 我遇到了一些对我来说有点模糊的关系 我知道依赖项 uses a 和继承 is a 但我对聚合 组合 关联和直接关联有点不熟悉 另外 其中哪一个是 has a 关系 有些可以与关联互换使
  • MongoDB - 使用全文搜索搜索单词和短语时的逻辑 OR

    我之前问过一个相关问题 根据发帖者的建议 创建了这个新问题作为后续问题 MongoDB 全文搜索 匹配单词和精确短语 https stackoverflow com questions 28368883 mongodb full text
  • 页面加载时,angularjs ng-cloak 不起作用

    我是 AngularJS 的新手 并试图解决在评估 ng if 条件之前显示某些 HTML 代码的问题 我正在使用 ng cloak 正如许多其他堆栈溢出 URL 中提到的那样 但它仍然对我不起作用 我正在尝试加载默认图像 如果 URL 上
  • 每个模块必须有唯一的路径

    我已经使用 GIT 从版本控制导入了一个项目 导入 同步等等之后 它给了我这个错误 错误 模块 LinkedCraftMobile linkedcraft android 指向文件系统中的同一目录 每个模块都必须有唯一的路径 我想要一个可以
  • 如何将数据表存储在缓存中以便重复使用?

    在我的应用程序中 我使用了通用处理程序来处理请求 我想要一种机制 如果第一次请求到达处理程序 它会向服务器发出请求 然后缓存整个数据表 因此对于即将到来的请求 如果下一个请求的产品代码存在于缓存的数据表中 则它不应该去再次获取数据的服务器