Redis - 整数列表
Redis - integer list
如何在 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 已经将数字显示为字符。当我提取它们时,我也会得到 chars:
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)
在 Redis 中,几乎所有东西都是字符串。这是因为使用的协议。它是基于文本的,所以不可能从字符串 "1234"
中分辨出数字 1234
。
它可能在内部存储整数,但无论如何您都会得到字符串。您应该在应用程序中投出您的号码。
如何在 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 已经将数字显示为字符。当我提取它们时,我也会得到 chars:
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)
在 Redis 中,几乎所有东西都是字符串。这是因为使用的协议。它是基于文本的,所以不可能从字符串 "1234"
中分辨出数字 1234
。
它可能在内部存储整数,但无论如何您都会得到字符串。您应该在应用程序中投出您的号码。