我需要缓存(在内存中)一堆相当长的字符串。不必要地使用内存似乎是一种遗憾,特别是当内存配额被强加时,所以我想知道在缓存之前压缩这些字符串,然后在获取后解压缩是否明智。
似乎node.js有一个内置的zlib module,尽管它似乎更多地针对文件/流压缩,但可能用于简单的字符串压缩,例如来自文档:
var input = '.................................';
zlib.deflate(input, function(err, buffer) {
if (!err) {
console.log(buffer.toString('base64'));
}
});有什么想法吗?是否有其他可用的库或实用函数?
发布于 2015-09-17 18:33:08
一个关于nodejs压缩的问题,here,把我带到了this page,它列出了一堆压缩库。
我不确定你的项目的确切背景,但如果你担心内存和性能方面的问题,那么that this library, called node-snappy可能就是你想要的。
基本上,根据作者的基准测试,它接受您想要的字符串,并比zlib更有效地压缩它:
snappy.compress() x 479 ops/sec ±0.99% (80 runs sampled)
zlib.gzip() x 289 ops/sec ±1.66% (86 runs sampled)
snappy.uncompress() x 652 ops/sec ±0.86% (43 runs sampled)
zlib.gunzip() x 559 ops/sec ±1.65% (64 runs sampled)https://stackoverflow.com/questions/32627835
复制相似问题