linux redis部署教程
单节点部署:
单节点部署 Redis 非常简单,只需要在一台服务器上安装 Redis 服务即可。以下是在 Linux 环境下的单节点部署步骤:
安装 Redis:打开终端,并执行以下命令来更新软件包列表并安装 Redis 服务器:
sudo apt update
sudo apt install redis-server
配置 Redis:
Redis 的配置文件通常位于 /etc/redis/redis.conf。你可以使用文本编辑器(如 nano 或 vim)打开该文件,并根据需要进行配置更改。
sudo nano /etc/redis/redis.conf
在配置文件中,你可以设置 Redis 的监听地址、端口、认证密码等选项。确保根据你的需求进行相应配置,并保存文件。
例如,你可以修改以下选项来允许远程连接和设置认证密码:
bind 0.0.0.0 # 允许远程连接
requirepass your_password # 设置认证密码
启动 Redis:
完成配置后,启动 Redis 服务:
sudo systemctl start redis
如果需要在系统启动时自动启动 Redis,可以执行以下命令:
sudo systemctl enable redis
验证 Redis 是否正常运行:
你可以使用以下命令检查 Redis 服务是否正在运行:
sudo systemctl status redis
如果一切正常,你应该能够看到 Redis 服务处于运行状态。
连接到 Redis:
你可以使用 redis-cli 命令行工具连接到 Redis 服务器,并进行操作:
redis-cli -h your_server_ip -p your_port -a your_password
替换 your_server_ip、your_port 和 your_password 为实际的服务器 IP 地址、端口和密码。
现在,你已经成功部署了单节点的 Redis 服务,并可以使用它来存储和管理数据。
主从复制部署:
Redis 主从复制部署是一种常见的配置,可以提高系统的读取性能和可用性。在主从复制中,主节点负责写入数据,而从节点则复制主节点的数据并提供读取服务。以下是在 Linux 环境下进行 Redis 主从复制部署的步骤:
准备服务器:在你的网络环境中准备两台服务器,一台作为主节点(Master),另一台作为从节点(Slave)。确保服务器之间可以相互通信,并且防火墙配置允许 Redis 端口(默认为 6379)的访问。安装 Redis:在两台服务器上安装 Redis 服务器。可以使用以下命令在 Ubuntu 上安装:
sudo apt update
sudo apt install redis-server
配置主节点:
打开主节点的 Redis 配置文件 /etc/redis/redis.conf,并进行如下配置:
bind 0.0.0.0 # 允许远程连接
port 6379 # 默认端口
daemonize yes # 在后台运行
requirepass your_password # 设置认证密码
masterauth your_master_password # 主节点密码
确保替换 your_password 和 your_master_password 为实际的密码。
配置从节点:
同样地,打开从节点的 Redis 配置文件 /etc/redis/redis.conf,并进行如下配置:
bind 0.0.0.0
port 6379
daemonize yes
requirepass your_password
masterauth your_master_password
slaveof master_ip master_port # 指定主节点的 IP 地址和端口
确保替换 your_password 和 your_master_password 为实际的密码,以及将 master_ip 和 master_port 替换为主节点的 IP 地址和端口号。
启动 Redis:
在主从节点上分别启动 Redis 服务:
sudo systemctl start redis
验证主从复制:
连接到主节点的 Redis 服务器,并设置一些键值对:
redis-cli -h master_ip -p 6379 -a your_password
set mykey myvalue
然后连接到从节点的 Redis 服务器,并检查键值对是否被复制:
redis-cli -h slave_ip -p 6379 -a your_password
get mykey
如果从节点返回了与主节点相同的值,则表示主从复制已成功。
现在,你已经成功地部署了 Redis 主从复制配置。主节点将负责写入数据,而从节点则复制主节点的数据以提供读取服务。
Sentinel高可用部署:
Redis Sentinel 是 Redis 的高可用解决方案,它监视 Redis 实例,并在主节点发生故障时自动执行故障转移操作。以下是在 Linux 环境下进行 Redis Sentinel 高可用部署的步骤:
准备服务器:在你的网络环境中准备至少三台服务器,每台服务器上都要安装 Redis。一台作为主节点(Master),另外两台作为 Sentinel 节点(可以增加更多的 Sentinel 节点以提高可靠性)。确保服务器之间可以相互通信,并且防火墙配置允许 Redis 端口(默认为 6379)和 Sentinel 端口(默认为 26379)的访问。安装 Redis:在每台服务器上安装 Redis 服务器。可以使用以下命令在 Ubuntu 上安装:
sudo apt update
sudo apt install redis-server
配置主节点:
在主节点的 Redis 配置文件 /etc/redis/redis.conf 中进行如下配置:
bind 0.0.0.0
port 6379
daemonize yes
requirepass your_password
确保替换 your_password 为实际的密码。
配置 Sentinel 节点:
在两个 Sentinel 节点的配置文件 /etc/redis/sentinel.conf 中进行如下配置:
bind 0.0.0.0
port 26379
daemonize yes
sentinel monitor mymaster master_ip 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel auth-pass mymaster your_password
确保替换 master_ip 为主节点的 IP 地址,并将 your_password 替换为实际的主节点密码。这里的 sentinel monitor 指令用于指定要监视的 Redis 实例,sentinel down-after-milliseconds 指令用于设置 Sentinel 认为主节点失效所需的毫秒数,sentinel failover-timeout 指令用于设置 Sentinel 在进行故障转移前等待的毫秒数。
启动 Redis 和 Sentinel:
分别在主节点和 Sentinel 节点上启动 Redis 和 Sentinel 服务:
sudo systemctl start redis
sudo systemctl start redis-sentinel
验证 Sentinel 高可用:
可以使用以下命令连接到 Sentinel 节点并查看监视状态:
redis-cli -h sentinel_ip -p 26379
sentinel masters
如果一切正常,你应该能够看到 Sentinel 监视的主节点的信息。
现在,你已经成功地部署了 Redis Sentinel 高可用解决方案。 Sentinel 将监视主节点的状态,并在主节点发生故障时执行自动故障转移操作,以保证 Redis 服务的可用性。
集群部署:
以下是 Redis 集群部署的步骤,你可以按照这些步骤进行部署:
准备服务器:准备至少 6 台服务器,每台服务器上都要安装 Redis。确保服务器之间可以相互通信,并且防火墙配置允许 Redis 端口(默认为 6379)的访问。安装 Redis:在每台服务器上安装 Redis 服务器。可以使用以下命令在 Ubuntu 上安装:
sudo apt update
sudo apt install redis-server
配置 Redis 集群:
在每台服务器上的 Redis 配置文件 /etc/redis/redis.conf 中进行如下配置:
bind 0.0.0.0
port 6379
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip your_ip_address
cluster-announce-port 6379
cluster-announce-bus-port 16379
确保替换 your_ip_address 为实际的 IP 地址。这里的 cluster-enabled 指令用于启用集群模式,cluster-config-file 指令用于指定集群配置文件的位置,cluster-node-timeout 指令用于设置节点超时时间,cluster-announce-ip、cluster-announce-port 和 cluster-announce-bus-port 指令用于指定节点在集群中的通信地址。
启动 Redis 服务:
在每台服务器上启动 Redis 服务:
sudo systemctl start redis
创建 Redis 集群:
使用 redis-cli 命令创建 Redis 集群。首先,在任一一台服务器上执行以下命令创建集群:
redis-cli --cluster create node1_ip:6379 node2_ip:6379 ... node6_ip:6379 --cluster-replicas 1
替换 node1_ip、node2_ip 等为实际的服务器 IP 地址。–cluster-replicas 1 参数表示为每个主节点创建一个从节点。
验证 Redis 集群:
连接到 Redis 集群并执行一些命令来验证集群是否正常工作:
redis-cli -c -h any_node_ip -p 6379
然后尝试执行一些 Redis 命令,例如 set、get 等,确保它们正常工作。
现在,你已经成功地部署了 Redis 集群。你可以通过访问任意一个节点来访问整个集群,并且 Redis 会自动进行数据分片和故障转移以保证高可用性和可扩展性。
nodes.conf介绍:
当你启用 Redis 集群时,集群状态信息会被保存在一个名为 nodes.conf 的配置文件中。这个文件通常位于 Redis 的工作目录下。例如,在 Ubuntu 系统上,Redis 的工作目录通常是 /var/lib/redis。
你可以通过以下命令找到 nodes.conf 文件的具体位置:
sudo find / -name nodes.conf
在默认情况下,如果你按照常规方式安装 Redis,nodes.conf 文件应该位于 /var/lib/redis 目录下。但是,如果你修改了 Redis 的配置文件中的 cluster-config-file 指令,那么文件可能会位于你指定的位置。
注意:不建议手动修改 nodes.conf 文件,因为这个文件是由 Redis 集群自动生成和维护的,手动修改可能导致不可预料的问题。
相关文章:
linux redis部署教程
单节点部署: 单节点部署 Redis 非常简单,只需要在一台服务器上安装 Redis 服务即可。以下是在 Linux 环境下的单节点部署步骤: 安装 Redis:打开终端,并执行以下命令来更新软件包列表并安装 Redis 服务器:…...
【Java】隐式锁(synchronized):如何解决餐厅等座的并发难题
当你走进一家熙熙攘攘的餐厅,准备享受一顿美味的晚餐时,你是否曾想过,这里正上演着一场场微观的线程战争?在这个场景中,每一张桌子都代表着珍贵的共享资源,而每一位顾客(线程)都在争…...
科技论文和会议录制高质量Presentation Video视频方法
一、背景 机器人领域,许多高质量的期刊和会议(如IEEE旗下的TRO,RAL,IROS,ICRA等)在你的论文收录后,需要上传一个Presentation Video材料,且对设备兼容性和视频质量有较高要求&#…...
Spring高手之路17——动态代理的艺术与实践
文章目录 1. 背景2. JDK动态代理2.1 定义和演示2.2 不同方法分别代理2.3 熔断限流和日志监控 3. CGLIB动态代理3.1 定义和演示3.2 不同方法分别代理(对比JDK动态代理写法)3.3 熔断限流和日志监控(对比JDK动态代理写法) 4. 动态代理…...
如何在Unity中使用设计模式
在 Unity 环境中,设计模式是游戏开发人员遇到的常见问题的通用解决方案。将它们视为解决游戏开发中特定挑战的经过验证的模板或蓝图。以下是一些简单易懂的设计模式: 1. 单例=> 单例模式确保一个类只有一个实例,并提供对该实例的全局访问点。在 Unity 中,可以使用单例模…...
基于springboot+vue+Mysql的旅游管理系统
开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...
vue3+ts中判断输入的值是不是经纬度格式
vue3ts中判断输入的值是不是经纬度格式 vue代码: <template #bdjhwz"{ record }"><a-row :gutter"8" v-show"!record.editable"><a-col :span"12"><a-input placeholder"经度" v-model:v…...
python常用知识总结
文章目录 1. 常用内置函数1. ASCII码与字符相互转换 1. 常用内置函数 1. ASCII码与字符相互转换 # 用户输入字符 c input("请输入一个字符: ")# 用户输入ASCII码,并将输入的数字转为整型 a int(input("请输入一个ASCII码: "))print( c &qu…...
常用的启发式算法
A算法:在电子地图导航软件中,当你输入目的地时,软件就会利用A算法来计算从现在的位置到目的地的最佳路径。该算法兼顾了路径的优化以及计算速度,保证了结果的准确性以及反馈的实时性。 模拟退火算法:模拟退火算法常被…...
应该如何进行POC测试?—【DBA从入门到实践】第三期
在数据库选型过程中,为确保能够灵活应对数据规模的不断扩大和处理需求的日益复杂化,企业和技术人员会借助POC测试来评估不同数据库系统的性能。在测试过程中,性能、并发处理能力、存储成本以及高可用性等核心要素通常会成为大家关注的焦点&am…...
通过Clojure中的集合与序列谈谈抽象的重要
与君共勉:生命不息,学习不止,切忌浮躁,静下心来,每天进步一点点。 Clojure简介 Clojure是一门运行在JVM上面的Lisp方言,其它的Lisp方言还有Scheme、Common Lisp等。Lisp相关的著名书籍有《计算机程序的构…...
Rust---模式(Pattern)匹配
目录 模式是什么它用来做什么模式匹配和赋值为什么会有模式匹配模式匹配用在什么地方match 表达式if let表达式while let表达式for 循环let 语句函数参数不可驳模式匹配和可驳模式匹配模式是什么 在Rust中,模式(Pattern)是一种用于匹配和解构数据的语法结构。模式匹配中常用…...
MATLAB 计算点投影到平面上的坐标(59)
MATLAB 计算点投影到平面上的坐标(59) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 点投影到平面,计算投影点的坐标,下面提供MATLAB版本的计算程序,直接运行即可,内有验证数据,具体看代码即可。 二、算法实现 1.代码 代码如下(示例): % 平面上的三个点分…...
2024年MathorCup数学建模B题甲骨文智能识别中原始拓片单字自动分割与识别研究解题文档与程序
2024年第十四届MathorCup高校数学建模挑战赛 B题 甲骨文智能识别中原始拓片单字自动分割与识别研究 原题再现: 甲骨文是我国目前已知的最早成熟的文字系统,它是一种刻在龟甲或兽骨上的古老文字。甲骨文具有极其重要的研究价值,不仅对中国文…...
嵌入式与移动物联网开发教程和案例
一、嵌入式与移动物联网概述 嵌入式系统是指嵌入到设备中的专用计算机系统,用于控制、监视或辅助设备操作。而移动物联网则是指通过物联网技术将各种智能设备与互联网连接起来,实现设备之间的互联互通和智能化管理。嵌入式与移动物联网技术的结合&#…...
AttachVoExample
目录 1、 AttachVoExample 1.1、 GeneratedCriteria 1.2、 addCriterion 1.3、 andFnameGreaterThanOrEqualTo 1.4、 GeneratedCriteria Atta...
图像处理特征提取
图像处理中的特征提取是指从图像数据中提取出具有区分性和代表性的特征,以用于图像分类、目标检测、图像匹配等任务。下面介绍几种常见的图像处理特征提取方法: 颜色特征:颜色是图像中最直观且重要的特征之一。常见的颜色特征提取方法包括颜色…...
前端大屏适配几种方案
一、方案一:remfont-size 动态设置HTML根字体大小和body字体大小,会使用到lib-flexible.js插件lib-flexible.js (function flexible(window, document) {var docEl document.documentElementvar dpr window.devicePixelRatio || 1// adjust body font…...
2011年认证杯SPSSPRO杯数学建模B题(第一阶段)生物多样性的评估全过程文档及程序
2011年认证杯SPSSPRO杯数学建模 B题 生物多样性的评估 原题再现: 2010 年是联合国大会确定的国际生物多样性年。保护地球上的生物多样性已经越来越被人类社会所关注,相关的大规模科研和考察计划也层出不穷。为了更好地建立国际交流与专家间的合作&…...
AcWing 793. 高精度乘法——算法基础课题解
AcWing 793. 高精度乘法 题目描述 给定两个非负整数(不含前导 00) A 和 B,请你计算 AB 的值。 输入格式 共两行,第一行包含整数 A,第二行包含整数 B。 输出格式 共一行,包含 AB 的值。 数据范围 1≤…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...
CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
shell脚本质数判断
shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...
前端打包工具简单介绍
前端打包工具简单介绍 一、Webpack 架构与插件机制 1. Webpack 架构核心组成 Entry(入口) 指定应用的起点文件,比如 src/index.js。 Module(模块) Webpack 把项目当作模块图,模块可以是 JS、CSS、图片等…...
