package cn.stylefeng.rest.config; import cn.stylefeng.rest.config.cache.ObjectRedisCache; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.cache.redis.util.CreateRedisTemplateUtil; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; /** * 实体-Redis自动配置 */ @Configuration @ConditionalOnClass(name = "org.springframework.data.redis.connection.RedisConnectionFactory") public class ObjectRedisAutoConfiguration { @Bean public CacheOperatorApi objectCacheOperatorApi(RedisConnectionFactory redisConnectionFactory) { RedisTemplate redisTemplate = CreateRedisTemplateUtil.createObject(redisConnectionFactory); return new ObjectRedisCache(redisTemplate); } @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.password}") private String password; @Value("${spring.redis.database}") private int database; @Bean public RedissonClient redissonClient(){ Config config = new Config(); config.useSingleServer().setAddress("redis://"+host+":"+port) .setPassword(password) .setDatabase(database); return Redisson.create(config); } }