程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了优化redis的问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决优化redis的问题?

开发过程中遇到优化redis的问题的问题如何解决?下面主要结合日常开发的经验,给出你关于优化redis的问题的解决方法建议,希望对你解决优化redis的问题有所启发或帮助;

我有一些网络抓取的数据。我使用 redis 作为我的服务器并从 nodeJs 获取数据并在 react 中显示它。

这就是我所拥有的:

2 个 redis 密钥都 ~ 200kb(到目前为止,将来会变成 ~10-20 mb)

我通过获取两个键、解析数据然后发送它来从 redis 获取数据。请注意,我将数据存储为键中的一个大字符串。

快递:

 try {
    // Fetch redis data
    const data1 = await GET_ASYNC('data1');
    const data2 = await GET_ASYNC('data2');

    // Parse data
    const parse1 = JsON.parse(data1);
    const parse2 = JsON.parse(data2);

    const result = [...data2,...data1];

    res.send(filterResults);

  } catch (err) {
    
    //
  }

问题是 nodeJs 需要大约 2000 毫秒来获取和发送数据,对于我的情况,我需要将其降低到 500 毫秒或更短。我怎么能这样做?我的问题是在 nodeJs 中还是我如何在 redis 中存储数据?谢谢。

解决方法

我的建议是使用较小的钥匙,而不是仅使用 2 个大钥匙。这将没有什么优势,即

  1. 您将节省网络时间来传输如此庞大的数据。
  2. 无需解析大型 json 结构,您也可以在 nodejs 端节省处理时间。
  3. 此外,如果您需要通过添加过期时间来删除任何键,那么您可以更轻松地维护较小的数据结构,而在 1 个大结构的情况下,您将不得不保持删除手动数据
,

我的建议:

  1. 在保存前和获取后压缩数据。压缩成本是值得的。
  2. bigkey 操作会阻塞 Redis,尝试将数据拆分到不同的 Redis 实例。

大佬总结

以上是大佬教程为你收集整理的优化redis的问题全部内容,希望文章能够帮你解决优化redis的问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: