任何人都知道如何使用redis更改Spring Session中键的前缀,键是spring:session:sessions:,字段为BOUNDED_HASH_KEY_PREFIX。
答案 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;
}