Immediate FlushMode can be used as a strategy for dealing with race conditions, by writing changes to data store as they happen, vs traditionally on invocation of #save on session repository.
Note that this is an option only for Servlet-based implementations, as org.springframework.session.Session#setAttribute returns void (and not Mono<Void>).
All SessionRepository implementations in Spring Session core modules support this and could be used for inspiration.