redis-scala和salat框架问题记录
date
Jun 5, 2021
slug
salat-problem-collection
status
Published
tags
问题记录
summary
type
Post
读书笔记
需求
1、原本利用redis-scala把数据加载到redis需要for循环一条一条加载,能否一次性一个List加载到redis呢?旧代码如下:
val elems = List("1","2","3")
for(elem <- elems){
redis.sadd("elems",elem)
}
redis-scala中sadd 操作的源码是这样写的:
def sadd(key: Any, value: Any, values: Any*)(implicit format: Format): Option[Long] =
send("SADD", List(key, value) ::: values.toList)(asLong)
所以我们可以这样操作:
val elems = List("1","2","3")
redis.sadd("elems", elems.head, elems.tail: _*)
2、salat原本是利用model与mongodb中的键值进行映射,这样会把整个model给fetch出来,能否单独自己定制需要字段呢?满足需求的mongodb数据库原生操作:
db.find({"uid":"1000"},{name:1})
这样只显示了name列的数据,salat框架中实现如上代码:
UserDao.primitiveProjections[String](MongoDBObject("uid" -> uid),"uid")
具体使用参考salat官网的Projection这一节