spring-projects / spring-session

Spring Session
https://spring.io/projects/spring-session
Apache License 2.0
1.85k stars 1.1k forks source link

Investigate RediSearch based indexing implementation #2133

Open vpavic opened 1 year ago

vpavic commented 1 year ago

RediSearch is a Redis module that, among other features, supports secondary indexing. We should investigate it as an option for implementing session indexing, as a more performant alternative to our RedisIndexedSessionRepository.

gkorland commented 1 year ago

@vpavic sounds like an interesting direction, what did you have in mind?

vpavic commented 1 year ago

Hi @gkorland!

Nothing too specific is planned just yet. RediSearch module was brought up by @rwinch in one of our Spring Session syncs as an option we are looking to explore as a potential means to implement a more efficient indexing of Redis-backed sessions (in contrast to the current implementation that's outlined in RedisIndexedSessionRepository javadoc).

We'll probably want to get acquainted with RediSearch before having any specific opinion or plan.

marcusdacoregio commented 1 year ago

Spring Data Redis' Redis Repositories supports secondary indexes https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#redis.repositories.indexes

marcusdacoregio commented 3 months ago

Redis is bringing the Redis Stack exclusive features into its open source release https://redis.com/blog/redis-adopts-dual-source-available-licensing/#:~:text=Future%20Redis%20source%2Davailable%20releases%20will%20unify%20core%20Redis%20with%20Redis%20Stack%2C%20including%20search%2C%20JSON%2C%20vector%2C%20probabilistic%2C%20and%20time%2Dseries%20data%20models%20in%20one%20free%2C%20easy%2Dto%2Duse%20package%20as%20downloadable%20software.