Python - 以高性能序列化数据的最佳方式?

标签 python serialization marshalling pickle

我需要序列化一个需要高性能的数据。分离的线程将每秒访问它并且必须将数据加载到内存中。将有大约 1000 - 10000 个关于用户 session (id、sessid、登录日期)的类似字典的条目。有些数据会因为登录时间有一些时间而频繁更新。

这些数据将在 python 服务器和 Django 应用程序之间共享。我想使用 pickle 或其更快的版本 cPickle。我还找到了marshal .

最好的方法是什么? cPickle 是否足够高效?或者编码(marshal)?

编辑: 非常重要的是访问时间。它将成为一个实时的 websocket 服务器,所以我需要非常低的延迟。每秒访问一次 cPickle 数据还是连接到像 Redis 这样的数据库更快?

最佳答案

更好的方法可能是使用一些内存缓存 - memcached,如果您的需求很简单 - 或者具有更多功能集的东西,如 redis。

关于Python - 以高性能序列化数据的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10065419/

相关文章:

c# - JSON.NET 序列化(如果重写 ToString)

c# - WCF 服务引用 - 在客户端获取 "XmlException: Name cannot begin with the ' <' character, hexadecimal value 0x3C"

c# - 如何在 C# 中处理来自 C DLL 文件的复杂结构返回类型?

python - OpenCV/Python - 按边界框区域查找异常值

python - Bottlepy/Flask - 如何设置复选框?

python - python中dict中存储外语文本时的解码/编码问题

python - np.linalg.norm ord=2 不给出欧几里得范数

java - 反序列化从 JSP 页面获取的 Java 对象?

c# - 结构体 sizeof/Marshal.SizeOf 变化

java - 当类为 XmlAccessType.NONE 时,如何 JAXB 编码 JavaFX 属性类?