0
У меня есть следующие два определения бобов для Spring Data Redis. Я не могу найти соответствующую документацию для определения областей (singleton, request или session) этих компонентов для веб-приложения.Весенний бобы для StringRedisConnection
@Bean
public StringRedisTemplate redisTemplate() throws Exception {
StringRedisTemplate redisTemplate = new StringRedisTemplate();
redisTemplate.setConnectionFactory(jedisConnectionFactory());
return redisTemplate;
}
@Bean
public StringRedisConnection stringRedisConnection() throws Exception {
return new DefaultStringRedisConnection(redisTemplate().getConnectionFactory().getConnection());
}
если не смешаны с '@ Scope' те будут одиночек. Будет ли иметь смысл в вашем случае использовать «StringRedisTemplate», используя, например. 'jedisConnectionFactory' вместо' StringRedisConnection'? –
Привет Крис - Я должен был использовать функцию zrangelex, доступную только из StringRedisConnection. https://jira.spring.io/browse/DATAREDIS-378. Чтобы уточнить, я спрашиваю, должен ли я инициализировать новый StringRedisConnection для каждого запроса/сеанса от пользователя или это прекрасно, если бы он был просто синглом. Спасибо –
Я бы воспользовался 'RedisTemplate.execute' с' RedisCallback', поэтому вы можете выпустить 'zRangeByLex' оттуда и не беспокоиться о связности. Я также создал [DATAREDIS-407] (https://jira.spring.io/browse/DATAREDIS-407) для добавления команды в 'ZSetOperations', чтобы она была доступна через' RedisTemplate.opsForZSet'. –