我写了一个函数
def getOptional[A](key: String) : Option[A] = {
redisClients.withClient(redisClient =>
redisClient.get[A](key)
)
}
我称之为
redis.getOptional[List[Long]](REDIS_PREFIX_PRODUCT_IDS)
但是会引发异常
could not find implicit value for parameter parse: com.redis.serialization.Parse[A][error] redisClient.get[A](key)
这里有什么问题?
答案 0 :(得分:2)
get
需要额外的隐式参数Parse[A]
。如果没有Parse[A]
,那么它不清楚要解析的内容,因为类型A
在运行时被删除。试试这个:
import com.redis.serialization.Parse
def getOptional[A: Parse](key: String) : Option[A] = {
redisClients.withClient(redisClient =>
redisClient.get[A](key)
)
}