【发布时间】:2021-06-28 09:54:13
【问题描述】:
我看到了一些奇怪的情况。有时我的 findBy...() 方法返回 null 而不是之前成功插入和获取的某个对象。之后,所需的对象就很好了。换句话说,有时搜索不起作用。
Spring Boot 版本:1.5.2.RELEASE
spring-boot-starter-data-redis: 1.5.22.RELEASE
“maxmemory-policy”设置为“noeviction”
我的 obj 声明:
@RedisHash("session")
public class Session implements Serializable {
@Id
private String id;
@Indexed
private Long internalChatId;
@Indexed
private boolean active;
@Indexed
private String chatId;
}
JPA 存储库:
@Repository
public interface SessionRepository extends CrudRepository<Session, String> {
Session findByInternalChatIdAndActive(Long internalChatId, Boolean isActive);
}
Redis 配置:
@Bean
public LettuceConnectionFactory redisConnectionFactory(
RedisProperties redisProperties) {
return new LettuceConnectionFactory(
redisProperties.getRedisHost(),
redisProperties.getRedisPort());
}
@Bean
public RedisTemplate<?, ?> redisTemplate(LettuceConnectionFactory connectionFactory) {
RedisTemplate<byte[], byte[]> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
return template;
}
感谢任何帮助。
【问题讨论】:
标签: spring spring-boot redis spring-data-jpa spring-data