Spring Data Redis and Spring Data Reactive Redis are both part of the larger Spring Data portfolio, which provides easy configuration and access to Redis from Spring applications1.

Spring Data Redis offers both low-level and high-level abstractions for interacting with the store, freeing users from infrastructural concerns1.

On the other hand, Spring Data Reactive Redis is designed to work with Redis in a reactive way. It uses Spring Data’s ReactiveRedisTemplate to configure and implement Redis operations2. This allows you to store and retrieve objects in Redis in a non-blocking manner3It’s a higher level of abstraction compared to ReactiveRedisConnection, which works with binary values (ByteBuffer) as input and output4.

In summary, the key difference is that Spring Data Reactive Redis provides non-blocking, reactive support for interacting with Redis, while Spring Data Redis provides a more traditional, blocking interaction model. Both are built on top of the same underlying infrastructure, but they are designed for different programming models (reactive vs. non-reactive).