使用Jedis库在redis中一次存储字符串列表

时间:2018-02-02 15:24:18

标签: java redis jedis

我需要将密钥(字符串)列表存储到redis数据库中,并且我使用jedis库来存储它。我有以下用户定义的java对象。

Class Hello {
    List<String> keys;
    String name;
    String age;
    //setters and getters        
}

List<String> keys = new ArrayList<>();
keys.add("a");
keys.add("b");

Hello hello = new Hello();
hello.setKeys(keys);
hello.setName("Hi");
hello.setAge("23");

在上面的例子中,我有两个键a,b。对于这些键,其他细节与名称和年龄相同。目前我正在使用jedis将值插入到redis中,方法是迭代键中的值并按顺序存储详细信息

for(String keyValue: hello.getKeys()) {
    List<String> keySingle = new ArrayList<>();
    keySingle.add(keyValue);
    hello.setKeys(keySingle);

    String encodedValue = new ObjectMapper().writeValueAsString(hello);

    final long ret = jedis.setnx(keyValue, encodedValue);//this will store for every key with an object as a value in the db

}

如果我想在上面的示例中获取Key“a”的值,我将使用以下方法来检索:

String ret = jedis.get(lockKey);

同样,我们是否有办法一次性存储所有密钥,而无需在数据库中迭代和存储密钥。

0 个答案:

没有答案