问题描述
使用生菜做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))
}