Redis集群

什么是集群:

多台服务器集中在一起,实现同一业务。
分布式:不同业务分布在不同地方。

集群的特点:

可扩展性、
高可用:从性能、响应等方面提升效率。

集群的能力:

1、负载均衡(nginx)算法(随机、轮询)
2、错误恢复
3、主备切换(nginx集群进行主备切换)

Redis集群方案:

1、主从复制
优点:处理高并发,主从同步,读写分离,主备切换
缺点:服务宕机之后 需要手动启动 会造成一些数据丢失

2、哨兵模式
优点:处理高并发,主从同步,读写分离,主备切换,自动切换
缺点:服务存储数据都一样,占用内存大,扩容比较麻烦

3、Redis-Cluster
优点:处理高并发,主从同步,读写分离,主备切换,自动切换,分布式存储
缺点:麻烦一点,扩容还是比较麻烦

redis-cluster有16384个槽位
主:可以读写
从:只能读

搭建redis集群:

1、六台Redis:6379~6384
编写一个 bat 来启动 redis,在每个节点目录下建立 startup.bat,内容如下:
title redis-6379(6379~6384)
redis-server.exe redis.windows.conf


打开每个Redis目录下的文件 redis.windows.conf,修改里面的端口号分别对应相对应的文件夹名:6379、6380、6381、6382、6383、6384。


打开每个Redis目录下的文件 redis.windows.conf
cluster-enabled yes
cluster-config-file nodes-6379.conf


打开每个Redis目录下的文件 redis.windows.conf
cluster-node-timeout 15000
appendonly yes
2、安装Ruby
rubyinstaller-2.6.3-1-x64.exe(傻瓜式安装)
3、安装ruby驱动
解压rubygems-2.7.7,进入根目录,cmd执行命令: ruby setup.rb
4、进入6379根目录cmd
命令:gem install
5、点击每个节点start.bat进行启动
拷贝redis-trib.rb到6379的redis根目录
6、在6379根目录cmd
命令:redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
7、测试
6379根目录:cmd
命令:redis-cli -c -h 127.0.0.1 -p 6379
查看集群的信息:cluster info
查看当前redis:info replication
查看各个节点分配slot:cluster nodes

Java操作redis-cluster

1、导包
commons-pool2-2.2.jar,jedis-2.5.2.jar
2、测试代码

 @Test
 public void testCluster() throws IOException, InterruptedException {
        Set<HostAndPort> nodes = new HashSet<>();
        nodes.add(new HostAndPort("127.0.0.1", 6379));
        nodes.add(new HostAndPort("127.0.0.1", 6380));
        nodes.add(new HostAndPort("127.0.0.1", 6381));
        nodes.add(new HostAndPort("127.0.0.1", 6382));
        nodes.add(new HostAndPort("127.0.0.1", 6383));
        nodes.add(new HostAndPort("127.0.0.1", 6384));
        JedisCluster cluster = new JedisCluster(nodes);
        try {
            String res = cluster.get("name");
            System.out.println(res);
//            cluster.quit();
        } catch (Exception e) {
            e.printStackTrace();
//            cluster.quit();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值