spring data redis的配置类RedisConfig

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; 
    }
    
    
}

 

posted @ 2018-06-27 12:12  scwyfy  阅读(1191)  评论(0编辑  收藏  举报