gpt4 book ai didi

java - Jedis 作为消息队列的表现

转载 作者:可可西里 更新时间:2023-11-01 11:32:12 27 4
gpt4 key购买 nike

我在我用作生产者/消费者队列的 Redis 队列之上使用 Java 库 Jedis。它易于设置并且运行良好。

消费者代码如下

List<String> messages = jedis.blpop(0, redisQueueName);
String message = messages.get(1);
//do some stuff

我正在寻找是否可以提高性能,因为我有大量项目坐在 Redis 队列中等待被提取。我已经为我的自定义处理代码计时,它不会花费太长时间(20000 纳秒)。

最好的做法是一次从 Redis 中提取多个项目并批量处理它们吗?或者我是否更好地考虑调整 Redis 服务器以获得更好的性能?

最佳答案

是的,批量拉取确实是最佳实践。您将避免网络往返。

另一件事是当队列快速增长并且您希望控制队列大小(内存大小)时,如果队列超出一定范围,则修剪队列。有时您可能不需要执行队列中的每个条目,而是随着队列大小变大您可能会跳过一些条目。

如果你想保留第一个输入的元素,即,仅保留前 100 个元素

Ltrim queue 0 100 

要保留你可以做的最后 100 个元素

Ltrim queue -1 100

希望对你有帮助

关于java - Jedis 作为消息队列的表现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39168393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com