您当前的位置: 首页 >  redis

112分布式电商项目 - Redis集群(创建)

杨林伟 发布时间:2019-07-22 17:23:38 ,浏览量:3

即使有了主从复制,每个数据库都要保存整个集群中的所有数据,容易形成木桶效应。

使用Jedis实现了分片集群,是由客户端控制哪些key数据保存到哪个数据库中,如果在水平扩容时就必须手动进行数据迁移,而且需要将整个集群停止服务,这样做非常不好的。

Redis3.0版本的一大特性就是集群(Cluster),接下来将讲解Redis集群。

1.架构

在这里插入图片描述 (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.

(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.

(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可

(4)redis-cluster把所有的物理节点映射到[0-16383]slot(插槽)上,cluster 负责维护nodeslotvalue

2.修改配置文件

1、设置不同的端口,6379、6380、6381 2、开启集群,cluster-enabled yes 3、指定集群的配置文件,cluster-config-file "nodes-xxxx.conf" 在这里插入图片描述

3.创建集群 安装ruby环境

因为redis-trib.rb是有ruby语言编写的所以需要安装ruby环境。

yum -y install zlib ruby rubygems
gem install redis

手动安装: rz上传redis-3.2.1.gem

gem install -l redis-3.2.1.gem

创建集群

首先,进入redis的安装包路径下:

cd /usr/local/src/redis/redis-3.0.1/src/

在这里插入图片描述 执行命令:

./redis-trib.rb create --replicas 0 192.168.56.102:6379 192.168.56.102:6380 192.168.56.102:6381

–replicas 0:指定了从数据的数量为0

注意:这里不能使用127.0.0.1,否则在Jedis客户端使用时无法连接到!

redis-trib用法: 在这里插入图片描述 在这里插入图片描述

测试

在这里插入图片描述 什么情况??(error) MOVED 7638 127.0.0.1:6380

因为abc的hash槽信息是在6380上,现在使用redis-cli连接的6379,无法完成set操作,需要客户端跟踪重定向。

redis-cli -c

在这里插入图片描述 看到由6379跳转到了6380,然后再进入6379看能否get到数据 在这里插入图片描述 还是被重定向到了6380,不过已经可以获取到数据了。

4.使用Jedis连接到集群

添加依赖,要注意jedis的版本为2.7.2 在这里插入图片描述 在这里插入图片描述 说明:这里的jc不需要关闭,因为内部已经关闭连接了。

关注
打赏
1688896170
查看更多评论

杨林伟

暂无认证

  • 3浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0772s