首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Redis存储ListBuffer[List[Double]]

使用Redis存储ListBuffer[List[Double]]
EN

Stack Overflow用户
提问于 2015-11-17 19:44:14
回答 1查看 283关注 0票数 0

我正在使用Redis作为播放应用程序中的catching。使用Redis,我可以存储一些与关键字字符串相关联的字符串列表,如case class Cache1中所示:

代码语言:javascript
运行
复制
    case class Cache1(val hostname : String, val port : Int, val timeout : Int) {
    val pool : Pool =
      new Pool(new JedisPool(new JedisPoolConfig(), hostname, port, timeout))
    val j = pool.underlying.getResource
    j.flushAll
    pool.underlying.returnResourceObject(j)


    def set(key : String, value : String) : Unit = pool.withClient { client => 
      client.lpush(key, value)
    }

    def get(key : String) : Option[List[String]] = {
      pool.withClient { client =>
        val l : List[String] =
          Dress.up(client).lrange(key, 0, Dress.up(client).llen(key)-1)
        if(l.length == 0) return None else return Some(l)
      }
    }
  }

我希望重现相同的case类,但我希望存储一个ListBuffer[List[Double]],而不是将String存储为值。但是我在redis API中找不到这样做的方法,这就是为什么我在这里问这个问题。

EN

回答 1

Stack Overflow用户

发布于 2015-11-17 23:26:23

我将整个结构存储为JSON,并将其读取为JSON。这很简单,也很容易维护。

Redis商店列表

代码语言:javascript
运行
复制
object MyJacksonMapper extends JacksonMapper
val jsonListBuffer= MyJacksonMapper.serializeJson(myListBuffer)
Dress.up(client).set("listbuffer",jsonListBuffer)

Redis Get

代码语言:javascript
运行
复制
val json = Dress.up(client).get("listbuffer") 
val myNewObject = MyJacksonMapper.deserializeJson[ListBuffer](json)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33756073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档