Redis 分布式缓存服务(集群)

作者:程序那点事儿 日期:2023/11/17 13:05


  1. 准备6台虚拟机,ip分别是

192.168.10.101

192.168.10.102

192.168.10.103

192.168.10.104

192.168.10.105

192.168.10.106

  1. 创建6个节点

mkdir -p /usr/local/cluster/redis-node1 #对应192.168.10.101

mkdir -p /usr/local/cluster/redis-node2 #对应192.168.10.102

mkdir -p /usr/local/cluster/redis-node3 #对应192.168.10.103

mkdir -p /usr/local/cluster/redis-node4 #对应192.168.10.104

mkdir -p /usr/local/cluster/redis-node5 #对应192.168.10.105

mkdir -p /usr/local/cluster/redis-node6 #对应192.168.10.106

  1. 编译6个节点
    1. cd ~
    2. wget http://download.redis.io/releases/redis-6.0.6.tar.gz
    3. tar -zxvf redis-6.0.6.tar.gz
    4. cd redis-6.0.6
    5. make #编译
  2. 安装+配置(redis-node1~6)
    1. cd src/                                        #进入src目录
    2. make install PREFIX=/usr/local/cluster/redis-node1    #执行安装
    3. mkdir /usr/local/cluster/redis-node1/conf            #创建conf目录
    4. cp ../redis.conf /usr/local/cluster/redis-node1/conf/        #拷贝配置文件
    5. cd /usr/local/cluster/redis-node1/conf/
    6. vim redis.conf        #修改如下配置项
cluster-config-file nodes-6379.conf   #该文件会在bin目录下自动生成,要与端口号要一致
cluster-enabled yes                   #开启集群模式
protected-mode no                    #关闭保护模式
port 6379                                   #端口号
daemonize yes                          #后台运行
# bind 127.0.0.1 ::1                   #这一行如果没注释,要注释掉!
  1. 启动(redis-node1~6)
    1. cd ../bin/
    2. ./redis-server ../conf/redis.conf
  2. 创建集群

在任意节点下执行如下命令

./redis-cli --cluster create 192.168.10.101:6379 192.168.10.102:6379 192.168.10.103:6379 192.168.10.104:6379 192.168.10.105:6379 192.168.10.106:6379 --cluster-replicas 1

  1. 连接集群,在任意节点执行
    1. ./redis-cli -c -h 192.168.10.101 -p 6379
    2. 或 ./redis-cli -c
  2. 查看集群节点
    1. cluster nodes #进入redis-cli命令行执行之
    2. ./redis-cli cluster nodes #任意节点的bin目录下执行

  1. 测试集群

添加几个k/v数据,然后get,跳转到不同节点,此时,集群完美成功!

========= Redis 集群连接工具 =========

Redis Desktop Client 介绍

RedisDesktopClient是一款颜值较高、使用方便的redis客户端工具,可以使用该工具对redis进行新增key-value,修改key-value,删除key,修改key有效时间,同时也支持展示当前redis的详细信息,例如使用了多少内存,是否是单机模式等。该工具目前支持string,hash,list,set,zset五种数据类型。下载地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149877.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

阿里云函数计算 x NVIDIA 加速企业 AI 应用落地

作者:付宇轩 前言 阿里云函数计算(Function Compute, FC)是一种无服务器(Serverless)计算服务,允许用户在无需管理底层基础设施的情况下,直接运行代码。与传统的计算架构相比,函数…

ffmpeg解封装解码

文章目录 封装和解封装封装解封装 相关接口解封装的流程图关于AVPacket的解释如何区分不同的码流,视频流,音频流?第一种方式av_find_best_stream第二种方式 通过遍历流 代码 封装和解封装 封装 是把音频流 ,视频流,字…

LeetCode题练习与总结:删除链表中的节点--237

一、题目描述 有一个单链表的 head,我们想删除它其中的一个节点 node。 给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。 链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。 删除给定的节点。注意&…

实例讲解电动汽车驱动扭矩控制策略及Simulink建模方法

电动汽车完成上电后进入Ready状态,此时车辆具备行车条件,处于行车准备状态。驾驶员挂挡(D挡或R挡)后,踩油门踏板即可控制车辆开始行车。对于电动汽车来说,驱动行车控制过程一般为,VCU接收Ready状…

高侧电流检测电路设计

1 简介 此单电源、高侧、低成本、电流检测解决方案可以检测 50mA 和 1A 之间的负载电流,并将其转换为 0.25V至 5V 的输出电压。高侧检测使系统能够识别接地短路,并且不会对负载造成接地干扰。 2 设计目标 2.1 输入 2.2 输出 ​​​ 2.3 电…

轴承介绍以及使用

轴承(Bearing)是在机械传动过程中起固定、旋转和减小载荷摩擦系数的部件。也可以说,当其它机件在轴上彼此产生相对运动时,用来降低运动力传递过程中的摩擦系数和保持转轴中心位置固定的机件。 轴承是当代机械设备中一种举足轻重的…

在java中怎么把对象转换成json,可以使用jackson

简述 在Spring Boot应用中,将Java对象转换为JSON字符串通常有两种主要方法:使用Jackson库或使用Gson库。由于Spring Boot默认集成了Jackson库,所以我们将重点介绍如何使用Jackson来进行对象到JSON的转换。 第1步:Maven添加依赖 …

STM32 Modbus主从站实例程序-FreeRTOS

资料下载地址:STM32 Modbus主从站实例程序-FreeRTOS​​​​​​​ 基本设置 启用Freertos,添加任务 设置中断优先级 设置长生成MDK工程 工程里面添加Modbus库 修改main.c 修改freertos.c 编译下载到单片机,完美运行

深入解析 helpTransfer 方法:多线程协作中的哈希表扩容

文章目录 什么是哈希表哈希表的问题:扩容扩容的挑战扩容的原理helpTransfer 方法检查是否正在扩容生成扩容标记并检查条件判断是否需要更多线程帮助加入搬家工作返回新表或旧表 什么是哈希表 哈希表(HashMap)是一种常用的数据结构&#xff0…

熬夜2月,终成人人可自建的AI网站

一、前言 自小码哥AI上线以来,备受粉丝们的关注,拖更了两个月,每日加班加点研发系统,2.0终于上线了。 作为一名年过三十的程序员,我深刻体会到了职场的残酷和不确定性,特别是这两年,经济不景气…

ROS理论与实践学习笔记——2 ROS通信机制之服务通信

服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A,用于偶然的、对时时性有要求、有一定逻辑处理需求的数据传输…

基于Java语言的桩底层直连协议和云快充协议

‌云快充协议‌是一种标准通信协议,主要用于电动车与充电桩之间的数据交换。该协议包含了充电请求、状态查询、支付等多个功能模块,这些功能的实现不仅需要对协议进行深入理解,还需要编写相应的代码进行封装。云快充协议旨在解决市场上快充标…

【C++前缀和 状态压缩】1177. 构建回文串检测|1848

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 位运算、状态压缩、枚举子集汇总 LeetCode 1177. 构建回文串检测 难度分:1848 给你一个字符串 s,请你对 s 的子串进行检测。 每次检测&#x…

Python OpenCV精讲系列 - 基于深度学习的目标检测(十二)

💖💖⚡️⚡️专栏:Python OpenCV精讲⚡️⚡️💖💖 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计,从基础概念入手,逐步深入到图像处理、特征检测、物体识…

C++ | Leetcode C++题解之第434题字符串中的单词数

题目&#xff1a; 题解&#xff1a; class Solution { public:int countSegments(string s) {int segmentCount 0;for (int i 0; i < s.size(); i) {if ((i 0 || s[i - 1] ) && s[i] ! ) {segmentCount;}}return segmentCount;} };

await命令使用注意点

第一点&#xff0c;前面已经说过&#xff0c;await 命令后面的 Promise 对象&#xff0c;运行结果可能是 rejected&#xff0c;所以最好把 await 命令放在 try...catch 代码块中 第二点&#xff0c;多个 await 命令后面的异步操作&#xff0c;如果不存在继发关系&#xff0c;最…

最优化理论与自动驾驶(二-补充):求解算法(梯度下降法、牛顿法、高斯牛顿法以及LM法,C++代码)

在之前的章节里面&#xff08;最优化理论与自动驾驶&#xff08;二&#xff09;&#xff1a;求解算法&#xff09;我们展示了最优化理论的基础求解算法&#xff0c;包括高斯-牛顿法&#xff08;Gauss-Newton Method&#xff09;、梯度下降法&#xff08;Gradient Descent Metho…

FileLink跨网文件传输 | 跨越网络边界的利器,文件传输不再受限

在当今数字化时代&#xff0c;企业与个人对文件传输的需求不断增长&#xff0c;尤其是在跨网环境中。传统的文件传输方式常常受到网络带宽、传输速度和安全性的限制&#xff0c;给用户带来了诸多不便。FileLink 的出现&#xff0c;为这一难题提供了完美解决方案&#xff0c;让文…

Python 聊聊有内置函数,又该怎么学习内置函数

前言 python有内置函数的概念&#xff0c;从Python3.x开始&#xff0c;内置函数位于builtins模块&#xff0c;比如我们常用的内置函数len()&#xff0c;其实它是builtins模块下的属性&#xff0c;我们也可以builtins.len&#xff08;&#xff09;去访问&#xff0c;当然因为每个…

鼎曼白茶贡眉:贮留芳香记忆,书写老茶传奇

在茶的世界 每一叶都承载着岁月的印记 每一香都凝聚着时光的韵味 其中 有一种温润如玉、恬淡从容的存在 它便是2017年贡眉 这款经过七年时光沉淀与陈化的白茶 以其独特的韵味与品质 吸引了无数茶客的青睐 今日 让我们一同领略2017年贡眉的魅力 PART 01 FIRST OF ALL …