【问题标题】:How to compress a string in Python to store it in Redis?如何在 Python 中压缩字符串以将其存储在 Redis 中?
【发布时间】:2013-04-16 17:52:56
【问题描述】:

我可以在 Python 中使用什么库或方法来获取字符串并将其压缩以存储在 Redis 中?目标是在某些字符串(cPickled 对象)通过线路时减小它们的大小,但会牺牲一些计算能力。

我相信生成的对象在存储之前必须是str 类型。我正在使用redis-py 库。

非常感谢!

【问题讨论】:

  • 应该可以在redis中存储字节数组吗?

标签: python string networking compression redis


【解决方案1】:

我推荐你zlib:

import zlib

compressedString = zlib.compress(originalString, 9)  # Compress at level 9

decompressedString = zlib.decompress(compressedString)

【讨论】:

  • 对于大多数用途,我也会使用 zlib。如果需要处理更大的字符串和更好的压缩,请考虑 bz2,尽管它确实以更多 CPU 周期为代价。可以通过 YMMV 找到比较 here
  • Exaclty,zlib 在 cpu 周期中有点便宜,并且由于它不存储元数据而具有最小的大小开销。
【解决方案2】:

Pick one。 bz2虽然很酷。

【讨论】:

    猜你喜欢
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多