Spring Redis模板流水线使多个网络之旅

时间:2019-06-06 13:37:18

标签: redis spring-data spring-data-redis

通过此链接pipelining vs transaction in redis

我了解到,当要从客户端向Redis触发多个命令时,我们可以使用流水线将客户端上的命令打包,然后向Redis发送一个请求,并接收一个包含所有单个命令结果的响应。 例如,如果要触发10个命令,则在流水线中,我们将10个命令打包/包装为1个请求,并从客户端触发该1个请求,然后从Redis服务器接收1个响应,此响应包含所有10个命令的结果。因此,只有一个请求和一个响应。

使用redisTemplate.executePipelined时,实现似乎有所不同。看起来redistemplate所做的是,它异步地激发单个命令并等待调度响应,直到所有命令都在redis服务器上执行为止。在这种情况下,如果要触发10个命令,则有10个对Redis服务器的请求和1个来自Redis服务器的响应。

我的理解是正确的吗,如果是这样的话,redisTemplate的优化​​程度是否还没有达到可以优化的程度?是否有任何现有的Java客户端/库已经在提供这种优化?

0 个答案:

没有答案