springboot整合redis单机及集群

一、单机配置

properties配置

#单机redis
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=redis

启动类加

@EnableCaching

具体的方法上加

@Cacheable(value="userList")

这样的话,redis 中key值即为userList,value 为方法的返回值。pojo可能会需要序列化。

二、集群配置

properties配置

#集群redis节点以及端口
#spring.redis.cluster.nodes=192.168.1.127:7550,192.168.1.127:7551,192.168.1.127:7552,192.168.1.127:7553

RedisClusterConfig

package com.dc.sb.web.redis;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;

import java.util.HashSet;
import java.util.Set;

/**
 * redis 集群配置类
 * 需要时直接   @Autowired JedisCluster
 * @author DUCHONG
 * @since 2018-12-17 17:28
 **/
@Configuration
public class RedisClusterConfig {

    @Value("spring.redis.cluster.nodes")
    private String redisNodes;

    @Bean
    public JedisCluster getJedisCluster(){

        Set<HostAndPort> nodes=new HashSet<HostAndPort>() ;

        String [] redisnodes=redisNodes.split(",");
        for (String redisnode : redisnodes) {

            String [] arr=redisnode.split(":");
            HostAndPort hostAndPort=new HostAndPort(arr[0],Integer.parseInt(arr[1]));
            nodes.add(hostAndPort);
        }

        return new JedisCluster(nodes);
    }
}

使用时直接

@Autowired 
private JedisCluster jedisCluster

 

posted @ 2018-12-17 17:50  npe0  阅读(1943)  评论(0编辑  收藏  举报