package com.tz.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import redis.clients.jedis.JedisPoolConfig;
/**
* 本类完成对redis整合的一些配置<br/>
*
* <li>连接池</li>
* <li>工厂</li>
* <li>redistemplate:操作redis方法</li>
*/
@Configuration
public class RedisConfig {
/**
* 配置连接池
* 1.创建jedispoolconfig对象
*/
@Bean//springboot来管理的,配置文件的<bean>类似
public JedisPoolConfig getJedisPoolConfig(){
JedisPoolConfig config=new JedisPoolConfig();
//配置最大空闲数
config.setMaxIdle(10);
//配置和最小空闲数
config.setMinIdle(5);
//配置最大连接数
config.setMaxTotal(20);
return config;
}
/**
* 2.创建jedisconnectionfactory,配置redis连接信息
*
*/
@Bean
public JedisConnectionFactory jedisConnectioFactory(JedisPoolConfig config){
JedisConnectionFactory factory=new JedisConnectionFactory();
//关联连接池的配置对象
factory.setPoolConfig(config);
//配置连接redis的信息
factory.setHostName("192.168.93.128");
factory.setPort(6379);
return factory;
}
/**
* 3.创建redistemplate:用于执行redis操作的方法
*/
@Bean
public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory factory){
RedisTemplate<String,Object> template=new RedisTemplate<String, Object>();
template.setConnectionFactory(factory);
//为key设置序列化器
template.setKeySerializer(new StringRedisSerializer());
//为value设置序列化器
template.setValueSerializer(new StringRedisSerializer());
return template;
}
}