我想存储我所有的字符串使用Utf8字符串编解码器与GZIP在python中。
我尝试了下面的代码,但压缩不能正常进行。我不知道这里少了什么。如何使用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)
提前感谢您的帮助!
谢谢
发布于 2017-11-03 16:50:00
您可以直接使用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)
https://stackoverflow.com/questions/47088399
复制相似问题