自从过去几周以来,我一直在评估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中做类似的事情来查询缓存数据吗?
答案 0 :(得分:0)
此处列出了NCache中支持的查询;
http://www.alachisoft.com/resources/docs/ncache/help/oql-syntax.html
除此之外, NCache不支持NextResult
命令,但你可以拥有自己的实现来方便你的应用
// Psuedo Code
- 创建查询列表
- 创建包装NCache查询客户端API的包装器
- 以异步方式执行这些查询
- 在Wrapper中创建
NextResult
功能- 在异步线程上执行同步以阻止或运行
NextResult
方法(Joins或Mutex.wait e.t.c)以等待异步查询操作方法返回- 做你想做的事:)
醇>
它是一个自定义实现。你实际上并不需要这样做,因为NCache是完全内存的,因此SQL查询应该非常快。
上发出功能请求