繁体   English   中英

如何使用python压缩字符串并在redis中存储

[英]How to compress string and store in redis using python

我想在python中使用Utf8 String Codec和GZIP存储我的所有字符串。

我试过下面的代码,但压缩没有正确发生。 我不知道这里缺少什么。 如何使用gzip压缩技术将数据插入redis。

插入redis之后,只需打印一些像d49这样的数字

import redis
import StringIO
import gzip

r = redis.StrictRedis(host='127.0.0.1', port=80, db=0, decode_responses=True)

out = StringIO.StringIO()
with gzip.GzipFile(fileobj=out, mode='w') as f:
    value = f.write('this is my test value')
    r.set('test', value)

提前感谢您的帮助!

谢谢

你可以直接使用gzip的compress()方法。

如果直接压缩文本字符串,

import redis
import gzip

r = redis.StrictRedis(host='127.0.0.1', port=80, db=0, decode_responses=True)
text = 'this is my test value'
value = gzip.compress(text.encode())
r.set('test', value)

如果您尝试压缩文件,

import redis
import gzip

r = redis.StrictRedis(host='127.0.0.1', port=80, db=0, decode_responses=True)
with open('text.txt', 'rb') as fp:
    value = gzip.compress(fp.read())
    r.set('test', value)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM