Изменить префикс ключа в весенней сессии с Redis
Кто-нибудь знает, как я могу изменить префикс ключа в Spring Session с помощью redis, ключ - это spring:session:session:, а поле - BOUNDED_HASH_KEY_PREFIX.
3 ответа
Для пользователей весенней загрузки, добавьте эту строку в application.properties:
spring.session.redis.namespace: your-session-namespace
Или вы можете использовать аннотацию
@EnableReidsHttpSession(redisNamespace="your-session-namespace")
PS Если вы используете пустой @EnableRedisHttpSession
аннотации, она переопределит application.properties и по умолчанию вернет пространство имен обратно к "spring:session", что очень запутанно.
Это называется
namespace
из репозитория сеансов Redis.
С
RedisOperationsSessionRepository
сейчас устарело, вы можете использовать
RedisIndexedSessionRepository
вместо этого настроить пространство имен в вашем экземпляре Redis:
/**
* Configuring Redis repository to fine tune session storage
*/
@Bean
public RedisIndexedSessionRepository sessionRepository(RedisOperations<Object, Object> redisTemplate) {
RedisIndexedSessionRepository sessionRepo = new RedisIndexedSessionRepository(redisTemplate);
sessionRepo.setDefaultMaxInactiveInterval(maxInactiveIntervalInSeconds);
sessionRepo.setDefaultSerializer(springSessionDefaultRedisSerializer());
sessionRepo.setRedisKeyNamespace(redisNamespace);
return sessionRepo;
}
Наконец, я расширяю RedisOperationsSessionRepository и переопределяю свойство по умолчанию.