Hi all, SimpleRedisDistributedMapCacheClientService uses a transaction in the getAndPutIfAbsent method, this service does not implement AtomicDistributedMapCacheClient, it looks like a bug.
P.S. Atomic operations, such as "replace", can be implemented using "set" method with params for keep ttl, like a org.springframework.data.redis.connection.RedisStringCommands#set(byte[], byte[], org.springframework.data.redis.core.types.Expiration, org.springframework.data.redis.connection.RedisStringCommands.SetOption), why you used transaction?