-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
I was trying to run this simple performance test with Spring Data Redis vs lettuce.
Spring Data Redis seems to be significantly slow with default configuration compared to lettuce. (The throughput is 50% less with Spring Data Redis). Is this much difference expected?
You can check yourself wit this code.
Spring Boot : 2.5.2
spring-boot-starter-data-redis-reactive
@RepeatedTest(3)
public void springDataRedisPerformance(){
ReactiveValueOperations<String, String> valueOperations = redisTemplate.opsForValue();
long before = System.currentTimeMillis();
Mono<Void> mono = Flux.range(1, 500_000)
.flatMap(i -> valueOperations.increment("user:1"))
.then();
StepVerifier.create(mono)
.verifyComplete();
System.out.println((System.currentTimeMillis() - before) + " ms");
}
@RepeatedTest(3)
public void lettucePerformance() throws InterruptedException {
RedisClient redisClient = RedisClient.create("redis://localhost:6379/0");
StatefulRedisConnection<String, String> connection = redisClient.connect();
RedisReactiveCommands<String, String> reactiveCommands = connection.reactive();
long before = System.currentTimeMillis();
Mono<Void> mono = Flux.range(1, 500_000)
.flatMap(i -> reactiveCommands.incr("user:1"))
.then();
StepVerifier.create(mono).verifyComplete();
System.out.println((System.currentTimeMillis() - before) + " ms");
}
Metadata
Metadata
Assignees
Labels
type: taskA general taskA general task