我需要将密钥(字符串)列表存储到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);
同样,我们是否有办法一次性存储所有密钥,而无需在数据库中迭代和存储密钥。