我将数据添加到redis流中,数据是整数或浮点数
> XADD name 1-0 field 1
> XADD name 1-1 field 2
然后我有一个python应用程序来读取流数据。
r = redis.Redis(host=HOST,port=PORT,decode_responses=True)
latest = r.xrevrange(
name="name",
count=1
)
# [[
# "1-1",
# {
# "field":"2" ##data is str not int
# }
# ]]
问题是字典中的结果数据将始终是字符串格式。有人建议我使用hiredis,但我找不到如何获得非字符串输出。有没有办法让redis或hiredis自动将数据转换成正确的数字类型?还是我必须自己来完成这个角色?
2条答案
按热度按时间sq1bmfud1#
redis是一个文本/二进制数据库。插入
int
输入后立即将其转换为字符串。必须将响应转换回
int
你自己。解码响应仅解码bytes
对…的Reactstr
.kzmpq1sx2#
或者在存储对象之前和检索对象之后使用pickle。
就redis而言,它是在存储和检索字节。