跟燕青学Redis-Redis集群安装_跟攀博学Java编程的博客-程序员宅基地

技术标签: redis集群  redis  

前边讲了Redis主从复制(https://blog.csdn.net/weixin_44062339/article/details/103227944),即使有了主从复制,每个数据库都要保存整个集群中的所有数据,容易形成木桶效应。

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

Redis3.0版本的一大特性就是集群(Cluster),接下来我们一起学习集群。

redis集群架构图

在这里插入图片描述
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到[0-16383]slot(插槽)上,cluster 负责维护node<->slot<->value

修改配置文件

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

创建集群

安装ruby环境

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

yum -y install zlib ruby rubygems
gem install redis

手动安装:
yum -y install zlib ruby rubygems
rz上传redis-3.2.1.gem
gem install -l redis-3.2.1.gem

如果是Ubuntu系统:
apt install ruby
上传redis-3.2.1.gem
gem install 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,现在已经可以获取到数据了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44062339/article/details/103249721

智能推荐

【SpringBoot】使用RestTemplate在服务之间进行MultipartFile格式文件的传递_resttemplate multipartfile-程序员宅基地

文章目录1、前言2、原因分析3、解决办法1、前言最近开发过程中遇到这样的问题,在使用RestTemplate进行两个后台服务之间文件传递的时候,直接使用MultipartFile格式来传递的时候抛出异常。2、原因分析MultipartFile是Spring框架中提供的一种用于文件处理的接口,一般用于前端进行文件的上传,后端使用MultipartFile类型来进行文件的接收;当使用RestTemplate的post方法进行来传递接收到的MultipartFile类型文件时,由于RestTemplate_resttemplate multipartfile

NAVICAT导出MySQL的ER图_navicat 怎么·保存 er 图-程序员宅基地

本文介绍下使用navicat怎么根据数据库表导出ER图1、选择数据库,点击逆向数据库到模型2、然后就会打开模型界面,如果表之间有外键则会有连接,也可以自己编辑3、如果需要导出成图片或者pdf可以选择打印为4、也可以保存为ER图的格式,提供给别人导入到navicat的模型里面以上就是根据navicat导出ER图的介绍..._navicat 怎么·保存 er 图

[操作系统]页面置换算法(详解),部分算法有代码实现,仅供学习_页面置换算法代码-程序员宅基地

系列文章:1.储存管理2.虚拟内存文章目录4.页面置换算法4.1最优页面置换算法4.2最近未使用页面置换算法(NRU)4.页面置换算法算法注释最优算法不可实现,但可用作基准NRU(最近未使用)算法LRU的很粗糙的近似FIFO(先进先出)算法可能抛弃重要页面第二次机会算法比FIFO有很大的改善时钟算法现实的LRU(最近最少使用)算法很优秀,但很难实现NFU(最不经常使用)算法LRU的相对粗略的近似老化算法非常近似LRU的有_页面置换算法代码

dubbo-admin 容器化构建-程序员宅基地

摘要:最近研究开源项目 zheng,其中用到了dubbo的服务,在使用 Docker 搭建环境的时候发现 dubbo-admin 没有官方的 Docker 镜像,于是自己动手根据官方源码制作一个镜像,学习一下 Spring Boot 应用的容器化过程。<!--more-->背景...

tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class-程序员宅基地

这个问题的出现是由于slf4j-log4j12 jar的变化,从1.5.6版本后,slf4j-log4j12 jar不再允许访问org.slf4j.impl.StaticLoggerBinder.SINGLETON.有2中解决方案:1. 去掉项目中的所有低版本的slf4j-api.jar ,slf4j-log4j12.jar. (低于1.5.6版本)2. 如果确实需要使用s...

Python Django之虚拟环境搭建、视图函数CBV、FBV及CSRF原理(7)_cbvrwvcrf-程序员宅基地

目录一、django虚拟环境搭建1.搭建虚拟环境virtualenv2.django中使用virtualenv虚拟环境二、视图函数CBV、FBV的介绍1.视图函数FBV的使用2.视图函数CBV的使用3.视图函数CBV源码分析三、CSRF请求认证一、django虚拟环境搭建1.搭建虚拟环境virtualenv在一般做项目中,为了项目在各版本之间可以兼容,一般都会使用虚拟环境来搭建django版本框架,目的是为了让项目更加的适应,所以今天就来教大家搭建一个虚拟环境virtualenv安装方法:打开终_cbvrwvcrf

随便推点

GO 实战读书笔记 第1 章 关于 Go 语言的介绍-程序员宅基地

第1 章 关于 Go 语言的介绍计算机一直在演化,但是编程语言并没有以同样的速度演化。现在的手机,内置的 CPU 核数可能都多于我们使用的第一台电脑。高性能服务器拥有 64 核、128 核,甚至更多核。但是我们依旧在使用为单核设计的技术在编程(疯狂暗示)。编程的技术同样在演化。大部分程序不再由单个开发者来完成,而是由处于不同时区、不同时间段工作的一组人来完成。大项目被分解为小项目,指派给不同的程序员,程序员开发完成后,再以可以在各个应用程序中交叉使用的库或者包的形式,提交给整个团队。如今的程序员和公司

bootstrap 表头行合并后背景色不会充满合并后的整个单元格_bootstrap table 合并表头 颜色-程序员宅基地

bootstrap的表头合并中,当第一行表头和第二行表头的某两个单元格合并后,背景色只根据表头文字的大小做覆盖,这样并不会覆盖整个表头。_bootstrap table 合并表头 颜色

Pyinstaller 主要参数含义_pyinstaller参数说明_一个小坑货的博客-程序员宅基地

Pyinstaller打包插件的常用使用参数_pyinstaller参数说明

Apache2开启path_info的解决方案_apache2 path_info-程序员宅基地

Apache2在默认情况下没有开启PathInfo模式,如果使用apache提供的httpd服务,网站文件上传后可以进入首页,如http://114.53.245.102,采用这种方式访问时可以看到首页页面,但在域名后增加url字段时便出现404错误,或者access denied,如地址栏为http://114.53.254.102/a/b/c这种方式时便无法访问。这在许多框架应用时都会出现,..._apache2 path_info

强化学习_强化学习的评价指标-程序员宅基地

强化学习强化学习概要强化学习核心强化学习流程强化学习特点衡量指标强化学习和监督学习相同点不同点模仿学习强化学习基础蛇棋游戏介绍(强化学习的应用举例)蛇棋的玩法策略与环境模型策略环境马尔可夫决策过程策略迭代法价值迭代法对比分析强化学习概要Reinforcement的概念something that strengthens or encourages something, such as a response to someone’s behavior that is intended to make t_强化学习的评价指标

解决报错DEFAULT_INCOMPATIBLE_IMPROVEMENTS-程序员宅基地

freemarker整合springMVC报错如下:警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name..._default_incompa