使用jedis hmset方法在redis中插入多个字段元素
using jedis hmset method for inserting multiple field element in redis
我正在 java 中使用 jedis 实现一个简单的 redis 命令。 redis-cli命令为:
hmset myhash key "value1" field2 "value2" field3 "value3"
问题是jedis
的hmset
方法需要两个参数:
String key
Map <String, String> hash
可能的解决方案:
String key;
String value2;
String value3;
while(!toVisit.isEmpty()) {
key = someQueue.poll()
value2 = getTitle(key)
value3 = getSize(value2)
jedis.hmset(key, value2Map)
jedis.hmset(key, value3Map)
...
但是,为了在 redis 数据库中添加一个包含三个字段的元组,必须实现三个 Tree Map 对象来获取它们最后添加的对象,感觉有点违反直觉。
只是希望在继续实施之前有一些更好的想法。
不确定这是否是您要查找的内容,但我认为您需要将所有值放入哈希图中并将哈希图对象作为第二个参数放入 jedis.hmset() 中。见下文
Map<String, String> avalue = new
HashMap<String, String>();
avalue.put(a, a1);
avalue.put(b, b1);
avalue.put(c, c1);
avalue.put(d,d1)
jedis.hmset(key, avalue);
如果您正在寻找 Java API 兼容的解决方案,您可以使用 Redisson:
Map<String, String> redisMap = redisson.getMap("myMap");
Map<String, String> newEntries = new HashMap<>();
newEntries.put("1", "a");
newEntries.put("2", "b");
newEntries.put("3", "c");
redisMap.putAll(newEntries);
我正在 java 中使用 jedis 实现一个简单的 redis 命令。 redis-cli命令为:
hmset myhash key "value1" field2 "value2" field3 "value3"
问题是jedis
的hmset
方法需要两个参数:
String key
Map <String, String> hash
可能的解决方案:
String key;
String value2;
String value3;
while(!toVisit.isEmpty()) {
key = someQueue.poll()
value2 = getTitle(key)
value3 = getSize(value2)
jedis.hmset(key, value2Map)
jedis.hmset(key, value3Map)
...
但是,为了在 redis 数据库中添加一个包含三个字段的元组,必须实现三个 Tree Map 对象来获取它们最后添加的对象,感觉有点违反直觉。
只是希望在继续实施之前有一些更好的想法。
不确定这是否是您要查找的内容,但我认为您需要将所有值放入哈希图中并将哈希图对象作为第二个参数放入 jedis.hmset() 中。见下文
Map<String, String> avalue = new
HashMap<String, String>();
avalue.put(a, a1);
avalue.put(b, b1);
avalue.put(c, c1);
avalue.put(d,d1)
jedis.hmset(key, avalue);
如果您正在寻找 Java API 兼容的解决方案,您可以使用 Redisson:
Map<String, String> redisMap = redisson.getMap("myMap");
Map<String, String> newEntries = new HashMap<>();
newEntries.put("1", "a");
newEntries.put("2", "b");
newEntries.put("3", "c");
redisMap.putAll(newEntries);