python - 从redis流和python获取int或float响应
问题描述
我正在将数据添加到 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 自动将数据转换为正确的数字类型?还是我必须自己实施铸造?
解决方案
或者在存储之前和检索对象之后使用泡菜。
r.set('some_key', pickle.dumps(obj)
obj = pickle.loads(r.get('some_key'))
就 redis 而言,它正在存储和检索字节。
推荐阅读
- jquery - 严格的 Ajax 实时数据搜索结果
- python-3.x - 如何使用 wx.GenericMessageDialog?
- javascript - 条件语句为空或不为空
- wix - 需要帮助使用 wix 和 nant 命令行创建 msi 文件
- odata - $apply 在 OData v4 Northwind API 中不起作用
- linux - Azure 不支持将 Linux VM 内核从 AWS 迁移到 Azure
- javascript - WebPack Only: Invariant Violation: ReactKonva 目前不支持文本组件。你的文字是:“”
- python - 如何解析多个文本文件并将所需的输出附加到单个文件中。(用于文档)
- python - 在python中读取多个json
- python - Plotly 袖扣钥匙