背景:
想通过leftPop(key, count)一次获取、pop多个值
项目:
spring-boot项目中引入spring-boot-starter-data-redis后,默认使用LettuceConnection作为redis连接使用,当引入redisson-spring-boot-starter(3.16.8)后,由于RedissonAutoConfiguration中的自动化配置会在RedisAutoConfiguration之前执行,所以默认的RedisTemplate、StringRedisTemplate会在redisson中创建bean,最终的RedisConnection的实现为Redisson。
@Configuration
@ConditionalOnClass({Redisson.class, RedisOperations.class})
@AutoConfigureBefore(RedisAutoConfiguration.class) // before RedisAutoConfiguration
@EnableConfigurationProperties({RedissonProperties.class, RedisProperties.class})
public class RedissonAutoConfiguration {
....
}
StackOverflowError原因: redisson未实现lPop(key, count)
RedissonAutoConfiguration生效使用RedissonConnection,大部分基础功能有实现,但是对于一些其他功能如list的lPop,仅仅实现了lPop(key),对于lPop(key, count)方法未作实现,继承自AbstractRedisConn

最低0.47元/天 解锁文章
3841

被折叠的 条评论
为什么被折叠?



