如何找到缓存中最大的键
How can I find the largest key in a cache
我有一个缓存 (),它的键值会增加(虽然不一定按顺序,例如 1002、1003、1020、1100)
我正在使用 Ignite 的 .Net 版本(它是 java 版本的包装器)
现在我正在获取整个集合并使用 Linq 查询结果。
如何在不使用 Linq 的情况下有效地检索最大的键。
一种有效的方法是使用 SQL(如果数字是值的一部分,则使用适当的索引)。
您可以继续将 LINQ 与 Ignite LINQ 提供程序一起使用以保持代码整洁:
https://apacheignite-sql.readme.io/docs/linq
使用 int
键的简单示例:
var cfg = new CacheConfiguration("cache-name", new QueryEntity(typeof(int), typeof(int)));
var cache = ignite.GetOrCreateCache<int, int>(cfg);
cache[1] = 1;
cache[3] = 3;
var max = cache.AsCacheQueryable().Max(e => e.Key);
这将被翻译成 SQL 并由 Ignite 高效执行,而无需在本地加载整个数据集。
我有一个缓存 (),它的键值会增加(虽然不一定按顺序,例如 1002、1003、1020、1100)
我正在使用 Ignite 的 .Net 版本(它是 java 版本的包装器)
现在我正在获取整个集合并使用 Linq 查询结果。
如何在不使用 Linq 的情况下有效地检索最大的键。
一种有效的方法是使用 SQL(如果数字是值的一部分,则使用适当的索引)。
您可以继续将 LINQ 与 Ignite LINQ 提供程序一起使用以保持代码整洁: https://apacheignite-sql.readme.io/docs/linq
使用 int
键的简单示例:
var cfg = new CacheConfiguration("cache-name", new QueryEntity(typeof(int), typeof(int)));
var cache = ignite.GetOrCreateCache<int, int>(cfg);
cache[1] = 1;
cache[3] = 3;
var max = cache.AsCacheQueryable().Max(e => e.Key);
这将被翻译成 SQL 并由 Ignite 高效执行,而无需在本地加载整个数据集。