gpt4 book ai didi

c# - NCache 中的多个事件结果集

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:30 24 4
gpt4 key购买 nike

自过去几周以来,我一直在评估 NCache。 Mu 问题特定于查询缓存数据的技术。我正在寻找类似于下面提到的 ADO.NET 技术的东西。一次提供多个查询并逐个遍历结果集的要求。

以上述方式从数据库中获取数据的 ADO.NET 代码如下所示。

connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password";
sql = "Select top 2 * from product; select top 2 * from ordermaster; select top 2 * from orderdetails";

sqlCnn = new SqlConnection(connetionString);
try
{
sqlCnn.Open();
sqlCmd = new SqlCommand(sql, sqlCnn);
SqlDataReader sqlReader = sqlCmd.ExecuteReader();
while (sqlReader.Read())
{
MessageBox.Show ("From first SQL - " + sqlReader.GetValue(0) + " - " + sqlReader.GetValue(1));
}

sqlReader.NextResult();

while (sqlReader.Read())
{
MessageBox.Show("From second SQL - " + sqlReader.GetValue(0) + " - " + sqlReader.GetValue(1));
}

sqlReader.NextResult();

while (sqlReader.Read())
{
MessageBox.Show("From third SQL - " + sqlReader.GetValue(0) + " - " + sqlReader.GetValue(1));
}

sqlReader.Close();
sqlCmd.Dispose();
sqlCnn.Close();
}

我们可以在 NCache 中做类似的事情来查询缓存数据吗?

最佳答案

此处列出了 NCache 中支持的查询;

http://www.alachisoft.com/resources/docs/ncache/help/oql-syntax.html

除此之外,NCache 不支持NextResult 命令,但您可以拥有自己的实现以方便您的应用

//Psuedo Code

  1. Create a list of queries
  2. Create a wrapper wrapping NCache query Client API
  3. Execute those queries in an async manner
  4. Create a NextResult function in your Wrapper
  5. Perform synchronization on the async threads to block or run on NextResult method (Joins or Mutex.wait e.t.c) to wait for the async query operations methods to return back
  6. Do what you wanted to do :)

它是一个自定义实现。您实际上不需要这样做,因为 NCache 完全在内存中,因此 SQL 查询应该已经非常快了。

您可以在 Alachisoft Forums 上提出功能请求

关于c# - NCache 中的多个事件结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37807080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com