代码之家  ›  专栏  ›  技术社区  ›  rockyroad

访问Ignite缓存中的底层类型定义

  •  1
  • rockyroad  · 技术社区  · 7 年前

    IgniteCache<K, V> dataCache = ignite.cache("dataCache");
    

    我需要得到上面一行中K和V的类型。

    我将向缓存附加一个CacheEntryListener,并且我需要访问缓存的值部分中的字段。我该怎么做?有什么方法可以从监听器方法中获取的CacheEntryEvent事件中访问类型信息吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Pavel Tupitsyn    7 年前

    泛型只是为了您的方便。

    例如,您可以这样做:

    IgniteCache<String, String> sCache = ignite.createCache("foo");
    sCache.put("1", "2");
    
    IgniteCache<Integer, Integer> iCache = ignite.cache("foo"); // same cache
    iCache.put(1, 2);
    
    IgniteCache<Object, Object> oCache = ignite.cache("foo"); // same cache
    oCache.get(1);  // 2
    oCache.get("1");  // "2"
    

    每个缓存一种类型是推荐的方法:应用程序逻辑应确保每个命名缓存仅适用于特定的数据类型。