Reader[Person] {
  val utf16StringReader = new StringReader(&quot;UTF-16&quot;)
  
  override def readImpl(bytes: Array[Byte]): Person = {
    val split = utf16StringReader.read(bytes).split(&quot;:&quot;)
    val name = split(0)
    val age = split(1).toInt
    Person(name, age)
  }
}

redis.set(&quot;key&quot;, Person(&quot;John Smith&quot;, 39)).onComplete {
  case Success(true) =&gt; redis.get[Person](&quot;key&quot;).onComplete {
    case Success(personOpt) =&gt; {
      println(personOpt)
      redis.