使用 Azure AppFabric 缓存服务的最佳实践?

2024-01-08

我已成功开始使用 Azure AppFabric 缓存服务,但我不确定创建 DataCacheFactory 对象的最佳实践方法是什么。现在我正在为每次调用缓存创建它,但显然这不是理想的方法......

有些人建议使用 Singleton。但我不确定我是否理解这是如何实现的(不是实际的 Singleton 类,而是如何将它们结合在一起)。

今天,我有一个使用 Ninject 为我创建的 CacheProvider 类,我可以在其中执行 Get/Put/Remove 操作。对于这些方法中的每一个,我都会创建 DataCacheFactory 对象,然后调用 .GetDefaultCache() 来获取 DataCache 对象,其中我分别调用 Put/Get/Remove。我用一个方法来做到这一点,如下所示:

private T Cache<T>(Func<DataCache, T> cacheAction)
{
    using (DataCacheFactory dataCacheFactory = new DataCacheFactory())
    {
        DataCache dataCache = dataCacheFactory.GetDefaultCache();
        return cacheAction(dataCache);
    }
}

我现在非常确定这不是一个聪明的想法,我应该通过 Singleton 获取 DataCache 对象,其中 DataCacheFactory 对象仅创建一次。但是该对象如何在请求之间生存? Azure 上有 > 1 个实例时,这如何工作?

希望这一切都是有道理的,并且比我更有经验的人(3小时)可以帮助我。


单例对象存在于应用程序范围内。只需在全局静态级别声明您的私有 DataCache 对象,提供一个属性 Get,如果该对象为 null,则实例化该对象;如果该对象不为 null,则返回该对象。

这样,您只需在每次应用程序回收时支付一次检测配置和缓存连接的成本。

每个实例都会实例化自己的DataCache对象就可以了。

存储缓存的实际数据并不存储在本地计算机的内存中,而是存储在分布式且速度超快的 Azure 专用缓存服务器中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Azure AppFabric 缓存服务的最佳实践? 的相关文章

  • 如何保持长时间运行的NHibernate Session数据一致?

    我在 ASP NET 会话中缓存了 NHibernate 会话 我遇到过一种情况 用户编辑了一个对象 因此它位于 ISession 的第一级缓存中 然后另一个用户编辑了同一个对象 此时 用户 1 仍然可以看到其编辑的原始版本 而用户 2 可
  • 节点项目的 Azure git 部署失败

    我正在尝试将我的项目部署到azure 它正在失败 这些是我采取的步骤 git init git config core longpaths true git add git commit m initial commit 所有这些都有效 我
  • 本地化 ASP.NET 资源的滑动过期

    假设我们有 2 个站点 myDomain AU 和 myDomain RU 具有相同的代码和本地化资源文件 resx 和 ru resx 我们预计大多数英语用户将使用 AU 网站 大多数俄语用户将使用 RU 网站 但是 如果 AU 域的某些
  • 如何在 Django 测试服务器中防止 HTTP 304

    我在 Django 中有几个项目 并且时不时地在一个和另一个之间交替 它们都有一个 media 路径 由django views static serve 并且他们都有一个 media css base css file 问题是 每当我运行
  • 如何在 Laravel 5 中通过键获取所有缓存项的列表?

    Laravel 中的 Cache 类具有 get itemKey 等方法来从缓存中检索项目 以及 Remember itemKey myData1 myData2 来将项目保存在缓存中 还有一个方法可以检查缓存中是否存在某个项目 Cache
  • ASP.NET - Google Chrome 缓存 DropDownList 选择

    我的购物车页面上的 Google Chrome 和 Safari 似乎遇到了缓存问题 购物车中有 2 个下拉列表 当您在更改下拉列表中的值后点击结帐按钮时 它会将列表中选择的内容提交到数据库 解释意外的行为有点困难 所以我会尝试一步一步地写
  • 为什么在读取字典时要锁定

    我对我正在阅读的一本关于线程的书 C 3 in a Nutshell 中的代码列表感到困惑 在 应用程序服务器中的线程安全 主题中 给出了以下代码作为 UserCache 的示例 static class UserCache static
  • ASP.NET 中 HTTP 缓存相关标头的有效含义

    我正在 ASP NET 2 0 中开发一个 Web 应用程序 其中涉及通过资源处理程序 ashx 提供图像 我刚刚实现了处理缓存标头和条件 GET 请求 这样我就不必为每个请求提供所有图像 但我不确定我是否完全理解浏览器缓存发生了什么 图像
  • NSURLCache 不缓存

    我正在使用 Xcode 6 1 6A1030 iOS7 和 iOS8 模拟器 NSURLCache 似乎没有缓存任何东西 我使用 Cache Control 标头 我的服务器返回带有 max age 6000 的 Cache Control
  • 本地开发的 Azure Functions 扩展包版本问题

    我有一个带有队列触发器的 Java 11 Azure 函数 该函数在部署到 Azure 时按预期工作 并正确从定义的服务总线主题中提取消息 但是 运行相同的功能locally除非我回滚版本 否则不起作用Azure Functions 绑定扩
  • Azure 表存储 - CreateIfNotExistsAsync 上的 501 NotImplemented

    我正在使用我知道可以工作的存储帐户和帐户密钥 信用 我有一个使用完全相同的连接字符串的 blob 容器 可以正常工作 我正在有效地这样做 CloudStorageAccount Parse connectionString CreateCl
  • make_shared<>() 中的 WKWYL 优化是否会给某些多线程应用程序带来惩罚?

    前几天我偶然看到这个非常有趣的演示 http channel9 msdn com Events GoingNative GoingNative 2012 STL11 Magic Secrets作者 Stephan T Lavavej 其中提
  • 如何使用 AMQP 以“PeekLock”模式从 Azure 服务总线队列获取消息?

    我们正在尝试在 Node 应用程序中使用 Azure 服务总线 我们的要求是从队列中获取多条消息 由于Azure SDK for Node不支持批量检索 我们决定使用AMQP 虽然我们能够使用 Peek Messages 获取消息 如此处所
  • 如何在 Azure 数据工厂 - Databricks 中使用 continuation_token 获取 ADF Pipeline 运行详细信息的下一页?

    我在用 adf client pipeline runs query by factory resourceGroupName 工厂名称 过滤器参数 的方法azure mgmt datafactory DataFactoryManageme
  • Azure 服务总线主题请求与消息

    I need help interpreting these graphs 它有 0 订阅 这是否意味着该主题没有任何内容 查看消息图表 在过去 30 天内 没有收到或读取来自此主题的消息 如果没有向该主题写入 读取任何内容 为什么会有 3
  • 如何禁用 CRM 2011 Xrm 缓存?

    我的 crm 2011 缓存有问题 我不需要它 但我不知道如何禁用它 首先我生成这个 CrmSvcUtil exe codeCustomization Microsoft Xrm Client CodeGeneration CodeCust
  • 如何在 Azure 中仅部署辅助角色/Web 角色

    如果您在 Azure 解决方案中拥有 Web 和辅助角色 那么所有等待发布更新包 上传到云存储 等待包部署的过程可能会让人筋疲力尽 浪费大量时间 如何仅上传 部署包含这两个角色的 Microsoft Azure 解决方案的辅助角色或 Web
  • 应用服务中的内存利用率是否可​​以提高

    我有一个相当简单的 Web 应用程序在 Azure 的 B1 服务计划中的应用服务计划中运行 该计划提供 1 个 CPU 和 1 75GB RAM CPU 使用率永远不会超过 5 左右 内存使用率永远不会低于 52 我确实停止了计划中唯一运
  • 是否可以调整AppFabric缓存服务器来存储更大的对象?

    当我假设将较大的对象图添加到缓存中时 我收到 AppFabric 缓存服务器错误 错误代码 子状态 连接已终止 可能是由于服务器或网络问题或序列化对象大小大于服务器上的 MaxBufferSize 请求的结果未知 我确信这不是网络问题 我能
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co

随机推荐

  • JPA/EclipseLink 未返回结果

    我是 Java 和 JPA 新手 我正在尝试连接到数据库并从表中返回一些结果 但是当我运行查询时 即使该表有超过 100 000 行 我也会得到一个空列表 这是我的 persistence xml
  • 什么是 Java 混合 - Applet + 应用程序?

    我怎样才能写一个呢 从评论到我的reply https stackoverflow com a 12447764 166390 接下来是 我们过去拥有的东西 小程序和应用程序 现在已经不可用了 并反驳 垃圾 它 Applet 和应用程序 被
  • 自定义属性在编译时执行

    我正在尝试创建一个自定义属性 该属性将以某种 AOP 方式工作 不幸的是 我无法访问 postsharp 而且我对 Unity 也不是很熟悉 它有 AttributeUsage Method 并在其构造函数中配置测试环境的某些部分 从 ap
  • 将参数从脚本传递给 gulp 任务

    I have package json具有以下结构的脚本 scripts watch build tsc watch watch server nodemon src app js watch app build tsc gulp do s
  • 列出 mysql 中同一个表的结果

    我如何列出此表中性别 男性且int 女性的iduser Table usermeta id iduser a b 12 204 age 19 7 203 age 35 6 200 age 24 3 201 age 34 5 201 gend
  • Delphi Soap https认证失败弹出对话框

    我们有一个使用 SOAP THTTPRIO 等 通信的 delphi XE 应用程序 默认情况下 该应用程序 在 delphi 中 通过 WinInet dll 工作 我们修复了身份验证代码 使其可以使用 https 身份验证 并且当 ht
  • 在表内搜索记录类型

    我有以下类型 CREATE OR REPLACE TYPE CLONE PRODUCT CHAR RECORD IS OBJECT CharacteristicID NUMBER NewValue VARCHAR2 200 Char New
  • 如何回滚分布式事务?

    我有三个不同的 Spring boot 项目 它们具有独立的数据库 例如 account rest payment rest gateway rest account rest 创建一个新帐户 payment rest 创建一个新的付款 g
  • 使用 gettext 对我有何帮助?

    我正在尝试建立一种方法来允许成员将字符串翻译成其他语言 您可以在此处查看示例 翻译测试 http acs graphicsmayhem com test3 index php 有人建议我为此使用 php 的本机 gettext 函数 而不是
  • 我如何知道我的字符串包含变音符号?

    例如 text eskoslovensk obchodn banka text string contains diacritics like etc 我想编写一个函数 在其中传递此字符串 eskoslovensk obchodn bank
  • 在 F# 中对平面序列进行惰性分组

    给定一个项目序列如下 a 1 a 2 a 3 b 1 c 2 c 3 我怎样才能将其懒惰地转换为 a 1 2 3 b 1 c 2 3 您可以假设输入数据源已按分组键元素排序 例如 a b 和 c 我在那里使用 来指示它是一个延迟评估的项目序
  • 添加到 pom 时类路径为空

    我正在使用这个简单的pom xml使用以下命令生成 OSGi 包maven bundle plugin
  • 如何使用索引获取linkedhashmap值?

    我是java新手 我制作了一个链接的哈希图 例如 Map
  • Typescript“专门”重载

    是否可以在不引入与实现完全匹配的签名的情况下定义这种专门的重载 on eventName string cb Function on eventName view cb args foo gt void on eventName strin
  • 如何使用 pefile 从 PE 文件中获取 .text 部分

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我怎样才能得到内容 textPE 中的部分 或任何其他部分 使用pefile module sectionsPE类实例的attr是节列表
  • 自由格式文本的通用地址解析器

    我们有一个显示地图数据的程序 想想谷歌地图 但为我们的客户提供更多的交互性和自定义图层 我们允许通过一组组合框进行导航 这些组合框预先填充了一堆数据的某些字段 即 国家 加拿大 填写了省份字段 选择安大略省 然后填写了县 地区列表 选择一个
  • 将 EDT 时区转换为 GMT 在 java 中无法正常工作

    我正在使用这段代码来解析这个日期 它必须将新日期显示为 2012 06 20 03 09 38 因为 EDT 是 4GMT 而我当前的位置是 GMT 5 但它没有显示它现在显示的是这样的 private static void conver
  • 打印枚举的字符串表示形式,NSLog

    我正在尝试 NSLog 我拥有的一些枚举 例如 这段代码打印枚举的整数表示形式 但我希望它输出实际的字符串名称 在本例中为 MON 我怎样才能做到这一点 import
  • 如何将 jQuery 对象转换为元素?

    如果我有一个textarea like var textarea textarea 如何使用 JavaScript 属性为其设置值value 而不是 jQuery 属性val 我想我需要转换textarea首先到 JavaScript 对象
  • 使用 Azure AppFabric 缓存服务的最佳实践?

    我已成功开始使用 Azure AppFabric 缓存服务 但我不确定创建 DataCacheFactory 对象的最佳实践方法是什么 现在我正在为每次调用缓存创建它 但显然这不是理想的方法 有些人建议使用 Singleton 但我不确定我