首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ERROR Invalid input of type: 'bool'. Convert to a bytes, string, int or float first.

ERROR Invalid input of type: 'bool'. Convert to a bytes, string, int or float first.

作者头像
用户12023652
发布2026-07-29 11:52:46
发布2026-07-29 11:52:46
1000
举报

一个奇葩的错误

  1. 公司的主项目是17年开始开发,有一个微服务中,用的python的redis客户端还是2.X的
  2. 最近公司把所有微服务的py-redis都升级到3.5.x
  3. 升级之后,整个项目所有功能都运行正常,测试也没有发现有什么问题
  4. 两天有用户发现有一个服务运行一直失败,查看日志,在运行任务报了一个错误 ERROR Invalid input of type: 'bool'. Convert to a bytes, string, int or float first.
  5. 因为是一个多层级的函数调用,有多层级的try ,于是一层一层,把try 临时取消,最后才定位到
  6. redis.set(key, True)

原因和解决办法

1.是python-redis 升级到3.x后,仅接受用户数据为字节、字符串或数字(整数,长整数和浮点数)。 2. 在2.x的时候,可以直接在value中存Python的类型,如字典和数组以及boolean型 3. 解决办法,修改redis.set(key, 1)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一个奇葩的错误
  • 原因和解决办法
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档