我需要序列化一个需要高性能的数据。分离的线程将每秒访问它并且必须将数据加载到内存中。将有大约 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/