Redis 列表“Unfinity”

问题描述 投票:0回答:1

我正在使用 Redis RPUSH LPOP 命令监视包含 100 个元素的列表。我的列表的第一个元素是我提供的第一个值,最后一个元素是我提供的最后一个值。我总是使用 RPUSH 添加元素,因此最新的元素始终位于末尾。我使用 LLEN 检查长度。如果超过 100,我会使用 LPOP 删除第一个元素。这样,我的列表中始终会包含最新的 100 个号码。这个机制运作良好,瞬间就完成了我所需要的。但是,我遇到了一些列表元素采用值“Unifinity”的问题。我不希望这种情况发生,但我无法确定该值发生的情况。由于我的计算是基于数字的,“Unifinity”扰乱了我的工作。

我使用 Redis 3.0.504 Windows 版本,并在 Node.js 版本 12 中执行这些操作。

如果您需要任何进一步的帮助或说明,请告诉我!

node.js list redis
1个回答
0
投票

我终于成功解决了我遇到的错误。我意识到我犯的错误与Redis无关。在我的 Node.js 代码中,我维护一个缓冲区数组,每 30 秒我就会将该数组传输到 Redis 并清空缓冲区。当从缓冲区读取时,我发现当缓冲区为空时,未定义的值正在传输到Redis。我重新排列了代码,以便当我清空缓冲区时,最后一个值成为第一个值。通过这种方式,我将缓冲区构造为始终包含至少一个元素。通过这次修改,我成功克服了这个错误。

© www.soinside.com 2019 - 2024. All rights reserved.