每个servlet只有一个Lettuce Redis连接?

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

在一个servlet中,Lettuce Redis连接应该在 init() 和关闭 destroy() 还是应该为每个请求创建一个连接(在 doPostdoGet?)

我正在使用同步 RedisCommands (connection.sync())

生菜州:

Lettuce在设计上是线程安全的,这对大多数情况来说已经足够了。所有Redis用户操作都是单线程执行的。使用多个连接不会对应用的性能产生积极影响。使用阻塞操作通常与获得其专用连接的工人线程并行。使用Redis事务是动态连接池的典型用例,因为需要专用连接的线程数量往往是动态的。也就是说,动态连接池化的要求是有限的。连接池总是伴随着复杂度和维护的代价。

java multithreading servlets redis lettuce
1个回答
0
投票

如果你打算使用redis事务,那么你必须确保正在进行的事务连接不是共享的,如果不是,那么对于大多数情况下,一个连接就足够了,因为redis是单线程的,无论如何,你的所有命令都会在命令队列中等待。

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