【发布时间】:2017-06-23 07:44:09
【问题描述】:
我正在将我当前的项目从 Jedis 移植到 Lettuce。
是否可以将共享连接用于响应式 API?只要我不调用阻塞和事务操作,例如 BLPOP 和 MULTI/EXEC?
我应该使用池连接通过反应式 API 进行事务处理吗?
是否可以通过反应式 API 流水线化命令?我应该为此使用专用连接吗?
【问题讨论】:
标签: java redis amazon-elasticache lettuce
我正在将我当前的项目从 Jedis 移植到 Lettuce。
是否可以将共享连接用于响应式 API?只要我不调用阻塞和事务操作,例如 BLPOP 和 MULTI/EXEC?
我应该使用池连接通过反应式 API 进行事务处理吗?
是否可以通过反应式 API 流水线化命令?我应该为此使用专用连接吗?
【问题讨论】:
标签: java redis amazon-elasticache lettuce
在多个线程之间共享一个连接是预期用途。有多种原因:
关于流水线:在将后续命令发送到 Redis 之前,lettuce 不会等待命令完成,这意味着 lettuce 默认使用流水线。防止流水线化的唯一方法是在命令调用时进行外部同步。
每个命令都直接刷新到 TCP 连接。 Lettuce 可以在将命令刷新到连接之前使用批处理对命令进行分组。命令刷新是手动操作,更适合批量加载,而不是被动使用。
还有两件事:
HTH,
标记
【讨论】: