package com.vincent.rsf.openApi.config; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisStandaloneConfiguration; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.StringRedisTemplate; /** * 电视机后台使用独立 Redis DB 时,此处与 {@code tv-monitor.redis.database} 对齐(默认 0,与 zy-monitor-admin 一致) */ @Configuration public class TvMonitorRedisConfig { @Value("${redis.host:127.0.0.1}") private String host; @Value("${redis.port:6379}") private int port; @Value("${redis.password:}") private String password; @Value("${tv-monitor.redis.database:0}") private int database; @Bean(name = "tvMonitorRedisConnectionFactory") public LettuceConnectionFactory tvMonitorRedisConnectionFactory() { RedisStandaloneConfiguration cfg = new RedisStandaloneConfiguration(host, port); cfg.setDatabase(database); if (password != null && !password.isEmpty()) { cfg.setPassword(password); } return new LettuceConnectionFactory(cfg); } @Bean(name = "tvMonitorStringRedisTemplate") public StringRedisTemplate tvMonitorStringRedisTemplate( @Qualifier("tvMonitorRedisConnectionFactory") LettuceConnectionFactory tvMonitorRedisConnectionFactory) { StringRedisTemplate t = new StringRedisTemplate(); t.setConnectionFactory(tvMonitorRedisConnectionFactory); return t; } }