redis如何使用hset而不是hmset

问题描述

使用生菜做Redis缓存。使用hmset,我能够将Map对象添加到redis中。但是请阅读hmset被hset代替。但是hset具有不同的签名。

import scala.collection.JavaConversions.mapAsJavaMap

val input: Map[String,String] = Map("field1" -> "value1","field2" -> "value2")


def writeRecord(key: String,record: Map[String,String]) = {

    sync.del(key)
    sync.hmset(key,mapAsJavaMap(record)) //works
    sync.hset(key,"mykey",)  // it asks for consecutive keys and values comma separated. It doesnt accept map object
  
  }

这是maven依赖项。

   <groupId>io.lettuce</groupId>
   <artifactId>lettuce-core</artifactId>
   <version>5.1.6.RELEASE</version>
 </dependency>

解决方法

我们可以通过以下方式实现这一目标:

def writeRecord(key: String,record: Map[String,String]) = {
    record.foreach(x=> sync.hset(key,x._1,x._2))
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...