Изменить префикс ключа в весенней сессии с 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 и переопределяю свойство по умолчанию.

Другие вопросы по тегам