构建redis集群(centos7)

162 阅读1分钟

1 环境准备

yum install gcc-c++ -y

2 下载并安装redis集群

$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make

3 差异化配置redis-5.0.5

redis-5.0.5/utils/create-cluster 第3,4,5步以下操作均在该目录下 image.png port=7000 集群端口号丛7000开始增加1(不包含7000)

--bind 0.0.0.0 不限制绑定的ip

--protected-mode no 关闭安全模式(外部应用可以连接到redis)

4 启动redis集群

./create-cluster start

5 建立集群互联

./create-cluster create

image.png

6 验证

cd /redis-5.0.5/src

image.png

image.png

7 集成spring-boot

7.1 编辑application.yml

记得替换自己的ip

server:
  port: 8080
spring:
  redis:
    database: 0
    host: 127.0.0.1
    jedis:
      pool:
        max-active: 8
        max-idle: 8
        max-wait: -1
        min-idle: 0
    password: ''
    port: 6379
    timeout: 10000
    #redis集群版
    cluster:
      nodes:
        - 192.168.207.88:7001
        - 192.168.207.88:7002
        - 192.168.207.88:7003
        - 192.168.207.88:7004
        - 192.168.207.88:7005
        - 192.168.207.88:7006
      max-redirects: 3 # 获取失败 最大重定向次数
    lettuce:
      pool:
        max-active: 1000  #连接池最大连接数(使用负值表示没有限制)
        max-idle: 10 # 连接池中的最大空闲连接
        min-idle: 5 # 连接池中的最小空闲连接
        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class RedisApplicationTest {
    @Resource
    private RedisTemplate redisTemplate;
    @Autowired
    private Jedis jedis;
    @Test
    public void test(){
        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);
        RedisSerializer stringSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringSerializer);//key序列化
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.opsForValue().set("clusterKey1","test");
    }
  }

9 自己搭建弱虚拟机重启,恢复可尝试redis-cluster stop 然后修改vim redis-cluster重启后变更的ip,删除当前文件下的log,dump,conf等文件再执行4,5步