Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaSpringBoot中使用redistemplate在Redis中使用重命名的命令_Java_Security_Spring Boot_Redis_Command - Fatal编程技术网

如何在JavaSpringBoot中使用redistemplate在Redis中使用重命名的命令

如何在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

出于安全原因,我想使用redis配置重命名命令集和flushDb。但是我使用的是redisTemplate,它只允许我使用set和flushDb方法,而不是重命名的命令

下面是我使用的配置:

@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)
}