gpt4 book ai didi

java - Lettuce 是否支持 Redis 集群中的管道操作?

转载 作者:行者123 更新时间:2023-12-02 09:33:24 26 4
gpt4 key购买 nike

需要使用lettuce在redis-cluster模式下运行一批命令。对于应该在一个分区中运行的命令,我希望在一个节点中顺序运行它们。

据我所知,Lettuce 可以通过将 AutoFlushCommands 状态设置为 false 来支持 Redis 流水线。但在redis-cluster模式下,该命令可能会发送到一个分区的不同节点。有什么办法可以避免这个问题吗?

最佳答案

至少,根据 Lettuce 的说法,确实如此:https://github.com/lettuce-io/lettuce-core/wiki/Pipelining-and-command-flushing

Command flushing is an advanced topic and in most cases (i.e. unless your use-case is a single-threaded mass import application) you won’t need it as Lettuce uses pipelining by default.

这意味着,它默认使用管道,我认为这是不正确或明确的,因为它还提到:

A flush is an expensive system call and impacts performance. Batching, disabling auto-flushing

The AutoFlushCommands state is set per connection and therefore affects all threads using the shared connection. If you want to omit this effect, use dedicated connections. The AutoFlushCommands state cannot be set on pooled connections by the lettuce connection pooling.

这意味着,如果您想要真正的 Redis 管道 http://redis.io/topics/pipelining ,您也可以通过一些额外的努力来做到这一点。

关于java - Lettuce 是否支持 Redis 集群中的管道操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57765565/

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