Node.js:压缩字符串

3
我需要在内存中缓存一堆相当长的字符串。如果不必要地使用内存,尤其是有内存限制时,似乎很可惜,所以我想知道在缓存之前压缩这些字符串,然后在获取后解压缩是否明智。

似乎node.js有一个内置的zlib模块,虽然它似乎更适用于文件/流压缩,但对于简单的字符串压缩也可能有用,例如从文档中可以看出:

var input = '.................................';
zlib.deflate(input, function(err, buffer) {
  if (!err) {
    console.log(buffer.toString('base64'));
  }
});

有任何想法吗?还有其他可用的库或实用函数吗?

1个回答

1
一道有关Node.js压缩的问题,在这里,引导我到了这个页面,该页面列出了一堆压缩库。

我不确定你的项目的确切背景,但如果你担心可能存在内存和性能问题,那么这个名为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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接