使用Redis修改Spring会话中的前缀键

时间:2016-02-10 15:22:20

标签: spring redis spring-session

任何人都知道如何使用redis更改Spring Session中键的前缀,键是spring:session:sessions:,字段为BOUNDED_HASH_KEY_PREFIX。

3 个答案:

答案 0 :(得分:0)

最后,我扩展了RedisOperationsSessionRepository,并默认覆盖该属性。

答案 1 :(得分:0)

对于spring boot用户,将此行添加到application.properties:

spring.session.redis.namespace: your-session-namespace

或者您可以使用注释

@EnableReidsHttpSession(redisNamespace="your-session-namespace")

P.S。 如果您使用空的@EnableRedisHttpSession批注,它将覆盖application.properties并将名称空间默认返回为“ spring:session”,这非常令人困惑。

答案 2 :(得分:0)

它被称为 Redis 会话存储库的 namespace

由于 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;
}