我们使用redis作为数据源。但是我们只有一台redis服务器,因此开发和生产环境必须共享该服务器。因此,我希望根据对象的配置文件在对象上使用不同的@RedisHash前缀。我有2个个人资料,dev和prod。
例如,对于对象参与者,我希望它使用@RedisHash('redis.prod_Participant')
进行生产,并使用@RedisHash('redis.dev_Participant')
进行开发。
所以我将application-prod.yaml
文件更改为
redis:
host: 9.9.9.9
port: 6379
password: 1234
participant_db_name: prod_Participant
但是如何根据配置文件设置@RedisHash的值?我尝试过@RedisHash(@Value("${redis.participant_db_name}"))
,但是@RedisHash的值必须是String类型而不是Value类型,并且编译器抱怨不兼容。
我也尝试过@RedisHash("${redis.participant_db_name}")
,但没有使用prod_Participant
,而是使用了文字${redis.participant_db_name}
。
有没有办法做到这一点?
您能够解决此问题吗?我正在尝试解决类似的问题,然后