redis リスト型で整数をプッシュするにはどうすればよいですか? lpush
finagle-redis クライアントが正しく動作するかどうかをテストし、手動のサンプル データを次のように redis に挿入したい
127.0.0.1:6379> rpush key:214 1 1 1
(integer) 3
127.0.0.1:6379> LRANGE key:214 0 -1
1) "1"
2) "1"
3) "1"
Redis はすでに数値を char として表示しています。それらを抽出すると、文字も取得されます。
val data: List[ChannelBuffer] = Await.result(redisClient.lRange(key, 0, -1))
val buffer: ChannelBuffer = data(0)
buffer.readChar() // 1
buffer.readInt() // 49
cli クライアントで整数をリストに書き込むことはできますか? そうでない場合、次の方法でも機能しますか?
val key = ChannelBuffers.copiedBuffer("listkey", utf8)
val list: List[ChannelBuffer] = List(1,1,1).map { number =>
val buffer = ChannelBuffers.buffer(4) // int sized buffer
buffer.writeInt(number)
buffer
}
// will this store the int's correctly??
redisClient.lpush(key, list)