Redis - 使用Zlib

时间:2016-03-13 13:49:19

标签: node.js redis zlib

我正在尝试压缩客户端redis中保存的字符串,以优化内存使用。

该过程如下(伪):

string = "This is a compression test"
buffer = zlib.deflate(string)
redis.set('key', buffer.toString('base64'))
compressed = redis.get('key')
buffer = new Buffer(string, "base64")
string = zlib.unzip(buffer).toString()

这样可行,但此处的缓冲区保存为字符串。如果我比较字符串长度,则压缩字符串为45,而正常字符串长度为27。

我想我在这里做错了,因为我看不出这会如何减少内存使用量。 有没有办法直接在redis中保存缓冲区?

修改

我找到了直接保存缓冲区并将其作为缓冲区检索的方法。 普通字符串的序列化长度仍为27,缓冲区的序列化长度为33。 所以这仍然不能说服我。

有人可以解释一下吗?

0 个答案:

没有答案