首页 > 解决方案 > 如何在缓存中找到最大的键

问题描述

我有一个缓存(),它的键增加(尽管不一定按顺序,例如 1002、1003、1020、1100)

我正在使用 .Net 版本的 Ignite(它是 Java 版本的包装器)

现在我正在获取整个集合并使用 Linq 查询结果。

如何在不使用 Linq 的情况下有效地检索最大密钥。

标签: ignite

解决方案


一种有效的方法是使用 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 高效执行,而无需在本地加载整个数据集。


推荐阅读