centos7环境下搭建redis及springboot连接集成

1.官方下载安装文件redis-4.0.2版本、解压、编译(gcc、tcl),make test   没问题则编译成功

2.切换到redis目录,执行src/redis-server  redis.conf  &

redis.conf内容  注意2点 a)注释bind 127.0.0.1  b)关闭保护模式,允许其他IP远程连接

3.执行 src/redis-cli -h 192.168.xx.xx -p 6379 

如果set key value成功,则说明可以远程连接了(特别注意,所在服务器的防火墙是否关闭)。

4本地推荐redis可视化工具:redis desktop manager

5.springboot连接集成操作

@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
    @Bean
    public KeyGenerator keyGenerator() {
        return new KeyGenerator() {
            @Override
            public Object generate(Object target, Method method, Object... params) {
                StringBuilder sb = new StringBuilder();
                sb.append(target.getClass().getName());
                sb.append(method.getName());
                for (Object obj : params) {
                    sb.append(obj.toString());
                }
                return sb.toString();
            }
        };
    }

    @SuppressWarnings("rawtypes")
    @Bean
    public CacheManager cacheManager(RedisTemplate redisTemplate) {
        RedisCacheManager rcm = new RedisCacheManager(redisTemplate);

        return rcm;
    }

    public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
        StringRedisTemplate template = new StringRedisTemplate(redisConnectionFactory);
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer =
                new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        template.setValueSerializer(jackson2JsonRedisSerializer);
        template.afterPropertiesSet();
        return template;
    }
}

属性文件配置

#redis配置
# Redis数据库索引(默认为0)
spring.redis.database=0  
# Redis服务器地址
spring.redis.host=192.168.198.xxx
# Redis服务器连接端口
spring.redis.port=6379  
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8  
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1  
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8  
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0  
# 连接超时时间(毫秒)
spring.redis.timeout=0

测试类

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = DemoDruidTestApplication.class)
@WebAppConfiguration
public class TestRedis {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    public void test(){
        stringRedisTemplate.opsForValue().set("test1","111");
        Assert.assertEquals("111",stringRedisTemplate.opsForValue().get("test1"));
    }
}

 

posted @ 2017-10-24 09:54  米兰_跳跳虎  阅读(675)  评论(0编辑  收藏  举报