redis中不能放对象,但是可以放json数据和pickle序列化数据

来源:11-11 如何选择redis的数据结构来保存cookie

荒小七

2020-04-22

redis中不能放对象,但是可以放json数据和pickle序列化数据,请问json数据和pickle序列化数据在redis中有什么区别呢??scrapy-redis中为什么不使用json格式的数据呢?

写回答

1回答

bobby

2020-04-23

Pickle 协议和 JSON (JavaScript Object Notation) 间有着本质的不同:
一. JSON 是一个文本序列化格式(它输出 unicode 文本,尽管在大多数时候它会接着以 utf-8 编码),而 pickle 是一个二进制序列化格式;
二. JSON 是我们可以直观阅读的,而 pickle 不是;
三. JSON是可互操作的,在Python系统之外广泛使用,而pickle则是Python专用的;
四. 默认情况下,JSON 只能表示 Python 内置类型的子集,不能表示自定义的类;但 pickle 可以表示大量的 Python 数据类型(可以合理使用 Python 的对象内省功能自动地表示大多数类型,复杂情况可以通过实现 specific object APIs 来解决)。

0
1
荒小七
非常感谢!
2020-04-23
共1条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5796 学习 · 6290 问题

查看课程