问题标签 [distributed-caching]
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.
caching - 想要一个好的内存+磁盘缓存解决方案
我目前将生成的 HTML 页面存储在 memcached 内存缓存中。这很好用,但是我想增加缓存的存储容量超出可用内存。我真正想要的是:
- memcached 语义(即不可靠,只是一个缓存)
- 首选 memcached api(但不是必需的)
- 大型内存一级缓存 (MRU)
- 巨大的磁盘二级缓存(主)
- 使用 LRU 或 LFU 以最大存储空间从磁盘缓存中逐出
- 经证实的实施
在寻找解决方案时,我找到了以下解决方案,但它们都以某种方式错过了我的标记。有谁知道:
- 我没有考虑过的其他选项
- 一种让 memcachedb 进行驱逐的方法
已经考虑的有:
- 最合适但不驱逐:明确“不是缓存”
- 看不到任何驱逐方式(手动或自动)
- 弃了,不支持
- 不想推荐给客户
- 不使用 memcache api
- 新的和未经证实的
- 不想推荐给客户
c++ - 分布式缓存代理服务器的想法
我正在实现一个分布式缓存代理服务器。我对 HTTP 和相关内容有所了解,所以我更专注于“分布式数据存储”子部分。
从网上的一些搜索中,我发现这可以使用分布式哈希表(DHT)来完成。我想知道是否存在某种库,最好是在 C/C++ 中。
任何更好的建议也将不胜感激。
asp.net - 带有 ASP.NET 应用程序的 Oracle Coherence
是否可以使用 Oracle Coherence 为 ASP.NET 应用程序提供分布式缓存?
我们想使用 Coherence 来横向扩展没有分布式缓存的 ASP.NET 应用程序。替代方案将是 memcached 等。但是,我们正在考虑 Coherence,因为我们已经拥有该领域的许可/专业知识。
ehcache - 使用 EHCache 的分布式持久缓存
我目前有一个通过 RMI 使用 EHCache 的分布式缓存,效果很好。我想知道您是否可以在缓存中包含持久性以创建分布式持久缓存。
除此之外,如果缓存是持久的,它会从文件存储加载,然后从缓存集群引导?基本上,我想要的是:
- 缓存开始
- 缓存从文件存储中加载持久对象 缓存加入分布式集群并正常引导
这背后的用例是在独立机器上运行 2 个相同的组件,分配缓存以避免在其中一个组件发生故障时丢失数据。持久性将防止在两个组件都失败的罕见情况下丢失所有数据。
转移到另一种分发方法(例如 Terracotta)会支持这一点吗?
java - Terracotta 是分布式缓存吗?
Terracotta是分布式缓存吗?
.net - 有人制作了内存中的 GIT 存储库吗?
我希望能够利用 GIT(及其工作流程)的优势,但无需磁盘访问成本——我只是想利用 GIT 的分布式修订控制功能来产生类似 memcached 和吉特。(最好在 .NET 中)
外面有这样的野兽吗?
java - 休眠分布式二级缓存选项
这不是一个真正的问题,但我正在寻找任何有使用以下一项或多项经验的人的评论/建议:
- 带 RMI 的 EhCache
- EhCache 与 JGroups
- 带有兵马俑的 EhCache
- 千兆空间数据网格
一点背景知识:我们的应用程序大部分是只读的,但有些用户数据是读写的,有些是只写的(也可能是相当不准确的)。此外,如果有工具可以让我们每隔一段时间或通过管理员干预刷新和填充缓存,那将是一件好事。
关于第一个选项 - 对 RMI 的开销和 Java 序列化的性能有任何担忧吗?
java - 选择分布式共享内存解决方案
我的任务是为可大规模扩展的分布式共享内存 (DSM) 应用程序构建原型。原型仅用作概念验证,但我想通过挑选稍后将在实际解决方案中使用的组件来最有效地度过我的时间。
该解决方案的目的是从外部源获取数据输入,将其搅动并使结果可用于多个前端。这些“前端”只会从缓存中获取数据并提供服务,而无需额外处理。对这些数据的前端点击量实际上可以达到每秒数百万。
数据本身非常不稳定;它可以(并且确实)迅速改变。然而,在处理和缓存最新的数据之前,前端应该看到“旧”数据。处理和写入由单个(冗余)节点完成,而其他节点仅读取数据。换句话说:没有通读行为。
我正在研究像memcached这样的解决方案,但是这个特定的解决方案不能满足我们下面列出的所有要求:
- 该解决方案必须至少具有Java 客户端 API,该 API 维护得相当好,因为应用程序的其余部分是用 Java 编写的,而且我们是经验丰富的 Java 开发人员;
- 解决方案必须是完全弹性的:应该可以添加新节点而无需重新启动集群中的其他节点;
- 该解决方案必须能够处理故障转移。是的,我意识到这意味着一些开销,但整体提供的数据大小并不大(最大 1G),所以这应该不是问题。“故障转移”是指无缝执行,无需硬编码/更改服务器 IP 地址,就像在节点出现故障时在 memcached 客户端中一样;
- 理想情况下,应该可以指定数据重叠的程度(例如,在 DSM 集群中应该存储多少相同数据的副本);
- 不需要永久存储所有数据,但可能需要对某些数据进行后处理(例如,序列化到数据库)。
- 价格。显然我们更喜欢免费/开源,但如果解决方案值得,我们很乐意支付合理的金额。无论如何,必须支付 24 小时/天的支持合同。
- 整个事情都必须托管在我们的数据中心中,因此像 Amazon SimpleDB 这样的 SaaS 产品超出了范围。如果没有其他选项可用,我们只会考虑这一点。
- 理想情况下,解决方案将是严格一致的(如在 CAP 中);然而,最终的一致性可以被视为一种选择。
提前感谢您的任何想法。
c# - 如何开始使用 NorthScale Memcached Server
我希望将 NorthScale 的 Memcached 服务器与 Amazon EC2 一起使用,我已经使用http://labs.northscale.com/memcached-ami/上的一个 AMI 启动了一个新实例,但我该如何配置存储桶名称,登录凭据和池 URL?
你们中是否有人知道任何好的介绍材料来帮助我开始使用 NorthScale Memcached 服务器?
谢谢,
ps 我使用 EnyimMemcached 作为我的客户端。
asp.net - ASP.NET 和多个 Web 服务器中的分布式缓存
我需要在多个 Web 服务器中使用分布式缓存。
我尝试了基于文件的缓存依赖项,但它在 UNC 路径中不起作用。我认为 .NET 无法监视 UNC 路径上的文件。
我知道微软在 Velocity 中推出了一项新功能。但是,有没有其他解决方案(比如 PHP 中的 memcache)?