专栏首页未闻CodeBytes 陷阱, Redis 数据类型的一个小坑

Bytes 陷阱, Redis 数据类型的一个小坑

在Python 3环境下,当我们把一个字符串写进 Redis 再读出来,会发现这个字符串变成了 bytes型的数据:

import redis
client = redis.Redis()

client.set('hello', 'world')
word = client.get('hello')
print(word, type(word))

运行效果如下图所示:

一般情况下,我们只需要对 bytes型的数据执行一下.decode()方法,就可以让它重新变回字符串:

origin_word = word.decode()
print(origin_word, type(origin_word))

运行效果如下图所示:

但是,如果我们传入的数据是数字,执行 .decode()方法以后,它就会变成字符串,如下图所示:

此时数字123变成了字符串'123'。如果不熟悉这个坑,那么可能会导致代码运行出现问题。甚至是造成莫名其妙的类型转换。

本文分享自微信公众号 - 未闻Code(itskingname),作者:kingname

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用有限状态机原理实现英文分词

    使用Python开发一个英文句子分词程序,把一段英文句子切分为每一个单词。不能导入任何官方的或者第三方的库,也不能使用字符串的split()方法。

    青南
  • 使用有限状态机原理实现英文分词

    使用Python开发一个英文句子分词程序,把一段英文句子切分为每一个单词。不能导入任何官方的或者第三方的库,也不能使用字符串的split()方法。

    青南
  • 一日一技:使用上下文管理器来强制关闭 Chromedriver

    当我们使用 Selenium 通过 Chromedriver 启动 Chrome 浏览网页时,可能会由于某些异常情况导致程序崩溃,但 Chromedriver ...

    青南
  • Jquery validate remote 验证数据唯一

    Zero_xxl
  • [Leetcode][python]Text Justification/文本左右对齐

    来自:https://shenjie1993.gitbooks.io/leetcode-python/068%20Text%20Justification.ht...

    后端技术漫谈
  • 知识点:匹配字符串中的子串,并让子串红色显示、格式化输出json、元素点击之后hover失效、word-wrap:break-word和word-break:break-all

    使用jQuery的click为某元素加上css样式,之后该元素原有的hover事件失效,原因是click加上的css权值比外联的css权值大。所以是点击之后原有...

    从入门到进错门
  • Day11-字符串-无重复字符最长子串

    Q:已知一个字符串,求用该字符串的无重复字符的最长子串(有的要求求长度,今天直接求子串)

    BUPTrenyi
  • Android Jetpack - Room

    Room 持久化库提供了一个基于 SQLite 的抽象层,以便在利用 SQLite 的全部功能的同时实现更强大的数据库访问

    SkyRiN
  • 使用 trie 树实现简单的中文分词

    导语:工作中偶尔遇到需要对中文进行分词的情况,不要求非常高的精确度和语境符合度,仅是为了统计某些词出现的热度。本文提供了一种简单易行的中文分词方法。 工作中,偶...

    胖兔子兔胖
  • 文本挖掘和情感分析的基础示例

    经过研究表明,在旅行者的决策过程中,TripAdvisor(猫途鹰,全球旅游点评网)正变得越来越重要。然而,了解TripAdvisor评分与数千个评论文本中的每...

    AiTechYun

扫码关注云+社区

领取腾讯云代金券