问题标签 [ncache]

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.

0 投票
1 回答
858 浏览

asp.net - Alachisoft.NCache.Runtime.Exceptions.OperationFailedException:缓存未初始化

我们使用 NCache 作为 NHibernate 的二级缓存。

本地控制台测试应用程序能够从缓存中检索项目。

但是在我们的网络应用程序中,我们收到“缓存未初始化”

我们正在使用 WCF 通过前端站点连接到运行查询的后端站点。

有人对如何解决此错误有任何想法吗?

谢谢

0 投票
1 回答
274 浏览

c# - 实体空间和 Ncache

对不起,这可能是一个糟糕的问题。有没有人有使用实体空间的直写/直读 ncache 的经验?

我还尝试为 nhibernate 和 ncache 搜索 wt/rt 提供程序的实现,以可能为实体空间滚动我自己的实现,但我找不到任何示例代码。是否有任何可以共享的代码(或链接)让我开始使用它?

0 投票
1 回答
989 浏览

c# - NCache 查询性能问题

我正在评估 NCache 在正在进行的项目中作为“通读”缓存的用途 - 以减轻 SQL 服务器的负载。
在客户端,该项目有一个轮询例程,用于接收按上次轮询日期时间过滤的项目(在服务器端)。
轮询以固定间隔在单独的线程中发生。
客户端的伪代码
1)第一次获取:

  1. 获取所有现有项目
  2. LastHandledDate设置为现在

2)非首次获取(轮询线程)

  1. 获取在LastHandledDate之后创建的现有项目
  2. 将 LastHandledDate更新为现在

在服务器端,当接收到轮询查询时,会执行以下伪代码:

  1. 查询 NCache 以获取CreationDate >= LastHandledDate的所有匹配项
  2. IF 查询结果为空
    1. 查询 SQL 数据库以获取CreationDate >= LastHandledDate的所有匹配项
    2. 如果查询不为空,则使用 SQL 查询结果更新 NCache
    3. 返回 SQL 查询结果
  3. ELSE 返回 NCache 查询结果

要查询 NCache,我使用的是它的 linq 提供程序,查询类似于 SQL 查询:

编辑:在测试期间,在客户端有一个线程以恒定速率添加新项目

服务器端部分托管在 Web 服务(IIS 中的 WCF)中。
在使用 100 个客户端对上述轮询设置进行了大约一个小时的负载测试后,我注意到 Web 服务正在执行的请求/秒稳步下降。

运行上面的设置,只从 NCache 读取,根本没有 SQL 读取(在服务器端伪代码中没有第2段)在请求/秒中产生了相同的下降模式。

我有几个问题:

  • 似乎 NCache 的查询性能取决于缓存中的对象总数。类似解决方案(NoSQL / Distributed Cache)中是否存在这种情况
  • 哪种 NoSQL/分布式缓存解决方案针对查询速度进行了优化?
  • 也许在 NCache 中查询可以更优化?
  • 也许我遗漏了一些东西——而且我的分布式缓存使用模式不正确——如何在我的用例中有效地使用分布式缓存,例如 NCache?
0 投票
1 回答
252 浏览

asp.net - AppFabric 重建缓存而不影响应用程序性能

我正在研究在我的 ASP.NET Web 应用程序中使用进程外缓存。我正在寻找允许我从头开始重建缓存而无需最终用户等待它重建的功能。我的应用程序最多可能需要 2 分钟来重建缓存。

我正在考虑将现有缓存值复制到新位置,同时填充新缓存值。应用程序将使用这些复制的值,直到填充新值。

AppFabric/NCache 等是否提供开箱即用的那种功能?我在网上找不到任何关于它的信息。

谢谢

0 投票
4 回答
601 浏览

asp.net - ASP .NET 应用程序缓存

我们在 ASP .NET 中开发的网站预计有 1000 个并发用户,并且随着 DB 中列表数量的增加,其性能正在下降。什么样的缓存(如 NCache 或 Appfabric)最能减少 DB 的负载并提高更多并发用户的性能。请给我一些建议。

0 投票
1 回答
187 浏览

.net - NCache 泛型类型处理程序实现

在每个缓存的 NCache 管理器中,您必须在泛型的情况下单独定义紧凑类型有没有办法一次将所有类提供给 Cache Compact

0 投票
2 回答
1234 浏览

asp.net - 从 NCache 服务器获取所有密钥

我们正在考虑使用 alachisoft 的 NCache。

它是否有获取所有键和值的方法?

我们试图了解我们如何做到这一点?

Redis 有这种特性,Ncache 是不是漏掉了这个特性?

0 投票
1 回答
1152 浏览

asp.net - 配置 ncache asp.net sessionstate 提供程序

我正在尝试将我的 Visual Studio 2013 asp.net mvc 应用程序配置为将 ncache 提供程序用于会话状态。

到目前为止,我已经添加了对 Alachisoft.NCache.SessionStoreProvider 和 Alachisoft.NCache.Web 的项目引用

我也按照此处找到的步骤进行操作,包括关于 web.config 的第 9 点,现在我的 web.config 中有以下 system.web 部分

但是,当我调试我的应用程序时,它似乎仍然使用默认的 inproc 会话状态,因为一切正常,但我的缓存显示 0 个对象。

使用 NCache api,我可以将项目添加到缓存中,这会显示在我的 NCache 管理控制台统计信息中。

谁能描述他们是如何设置的或看到我遗漏的任何东西?提前致谢

0 投票
1 回答
12270 浏览

c# - 无法加载文件或程序集“Oracle.DataAccess”或其依赖项之一。试图加载格式不正确的程序。缓存

我已经下载了 64 位 Ncache 应用程序,因为我有 64 位 Windows 7。我正在使用 Ncache 创建一个示例应用程序。Ncache 附带的示例运行良好。我正在使用 Ncache 本地缓存开发自己的应用程序。当我通过 Visual Studio 2010 运行该应用程序时,我收到以下错误:

无法加载文件或程序集“Oracle.DataAccess”或其依赖项之一。试图加载格式不正确的程序。

我也安装了最新版本的 oracle。Ncache 提供的示例应用程序是在 Visual Studio 2008 中制作的,我在转换它们后在 Visual Studio 2010 中运行它们。Ncache 附带的 Oracle.DataAccess.dll 版本为 2.112.1.0,NCache 附带的 Oracle.DataAccess.dll 版本为 2.121.1.0。我被困在这几天了。

0 投票
2 回答
568 浏览

asp.net - AppFabric/NCache - 这些会解决通过引用更新的 HttpRuntime.Cache 对象吗?

在 ASP.NET 应用程序中使用 HttpRuntime.Cache 时,从缓存中检索并随后更新的任何项目都将导致缓存对象也被更新(通过引用)。随后从缓存中读取将获得更新的值,这可能是不可取的。

关于这个主题有多个帖子,例如:

以只读方式读取 HttpRuntime.Cache 项

建议的解决方案是使用二进制序列化创建一个深拷贝克隆。

二进制序列化的问题在于它很慢(非常慢),而且我无法承受任何潜在的性能瓶颈。我已经研究过使用反射的深度复制,虽然这似乎性能更好,但使用我们复杂的 DTO 实现并不是一件容易的事。对此感兴趣的任何人都可能想看看以下简短的文章:

快速深度克隆

有没有人有任何缓存解决方案(如 AppFrabric / NCache 等)的经验,并且知道他们是否会直接解决这个问题?

提前致谢

格里夫