当前位置: 首页 > 知识库问答 >
问题:

按键获取hazelcast值

董鸣
2023-03-14
public class Model implements Serializable{
    
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    private String id;
    private String name;
    private String age;

Hazelcast数据存储

HazelcastInstance hazelCast = Hazelcast.newHazelcastInstance();
IMap<Model, String> hazelInstance = hazelCast.getMap("data");
hazelInstance.put(new Model("001","alia","23"), "john");

如何通过传递any键获取值(John)。。

在Hazelcast这可能吗...?

共有1个答案

壤驷鸿祯
2023-03-14

如果您的意思是通过映射键的属性获取值,那么我认为您应该使用IMap。值(谓词):

@Test
public void testFetchValue() {  
    IMap<Model, String> map = hazelcastTestClient.getMap("data");
    Model key = new Model("001","alia","23");
    map.put(key, "john");
    Model key2 = new Model("002","alia2","25");
    map.put(key2, "eric");
    Model key3 = new Model("003","alia3","23");
    map.put(key3, "peter");
    
    String value = map.get(key);
    Assert.assertTrue("value should be john", "john".equals(value));
    
    EntryObject eo = new PredicateBuilder().getEntryObject();
    Predicate idPredicate = eo.key().get("id").equal("001");
    Collection<String> valuesForName = map.values(idPredicate);
    Assert.assertTrue("values should contain john", valuesForName.contains("john"));
    Assert.assertFalse("values should not contain peter", valuesForName.contains("peter"));
    Assert.assertFalse("values should not contain eric", valuesForName.contains("eric"));
    
    eo = new PredicateBuilder().getEntryObject();
    Predicate agePredicate = eo.key().get("age").equal("23");
    Collection<String> valuesForAge = map.values(agePredicate);
    Assert.assertTrue("values should contain john", valuesForAge.contains("john"));
    Assert.assertTrue("values should contain peter", valuesForAge.contains("peter"));
    Assert.assertFalse("values should not contain eric", valuesForAge.contains("eric"));
}
 类似资料:
  • 我在Spring和Redis上都很新。我想知道有没有办法按价值得到钥匙? 例如,我希望获得具有给定文件哈希和内容的图像类型文件的get the KEY。我是这样做的: 然而,我被告知这是相当昂贵的,因为我要获得所有以“image”开头的键,并手动检查所有这些键。 现在我在想,也许如果我能按价值得到钥匙会好得多。以便更容易得到它的所有属性。在Redis可能吗?

  • 我试着从地图上得到这样一个随机元素 但我认为最好的方法是使用谓词 我读过这个https://docs.hazelcast.com/imdg/4.2/query/how-distributed-query-works.html#querying-with-sql-like-predicates不幸的是这对我没有帮助 我找不到办法 在sql中是这样的 如何在hazelcast中生成正确的谓词? 你能举

  • 我有阵列问题。这是我的数组: 对于我发送的每一个“类型”,我都试图找到钥匙(“酒店”、“航班”等) 大多数时候我都会得到它,但对于某些值,我会得到:“key:0” 例如,如果type=“HTP”,该键将为0,“HT”键将为1。 为什么呢? 这是我的代码: 我也试过这个:

  • 我有一个主键值,我想获取一个记录以进行更新,所以现在我写: JOOQ知道我的表的主键(例如,它会生成onKey()方法等)-因此我希望得到如下结果: 但这似乎不是一件事。有没有更简洁的方法使用JOOQ API来做我想要的事情?

  • 我有一个淡褐色IMAP看起来像 在val1,val2上建立索引我正在尝试获取say

  • 本文向大家介绍Python中按值来获取指定的键,包括了Python中按值来获取指定的键的使用技巧和注意事项,需要的朋友参考一下 Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可以是1001。id同样可以是1001。这样的话通过值来获取指定的键,就不止一个!而且也并不太好处理。这里同样提供两种思路来处理。 方法一: 方法二: 上面的两种方法可以很方便高效的来处理字典中按值