如何在JavaSpringBoot中使用redistemplate在Redis中使用重命名的命令
出于安全原因,我想使用redis配置重命名命令集和flushDb。但是我使用的是redisTemplate,它只允许我使用set和flushDb方法,而不是重命名的命令 下面是我使用的配置:如何在JavaSpringBoot中使用redistemplate在Redis中使用重命名的命令,java,security,spring-boot,redis,command,Java,Security,Spring Boot,Redis,Command,出于安全原因,我想使用redis配置重命名命令集和flushDb。但是我使用的是redisTemplate,它只允许我使用set和flushDb方法,而不是重命名的命令 下面是我使用的配置: @Bean public RedisTemplate<String, Person> redisTemplate() { RedisTemplate<String, Person> template = new RedisTemplate<>() temp
@Bean
public RedisTemplate<String, Person> redisTemplate() {
RedisTemplate<String, Person> template = new RedisTemplate<>()
template.setConnectionFactory(redisConnectionFactory)
template.setKeySerializer(new StringRedisSerializer())
template.setValueSerializer(new JacksonJsonRedisSerializer<>(Person.class))
template.setHashKeySerializer(new StringRedisSerializer())
template.setHashValueSerializer(new JacksonJsonRedisSerializer<>(Person.class))
return template
}
有什么想法吗?这在Spring Data Redis中是不可能的,但听起来像是驱动程序问题。你可以监视绝地武士。对于莴苣来说,目前还没有这样的罚单,但可能值得研究这个问题。这需要在重命名的命令名和要在驱动程序配置级别映射的命令名之间提供映射。
public void savePerson(Person person) {
String key = "personId:${person.id}"
redisTemplate.opsForValue().set(key, person)
}