redis群集-简单部署

目录

redis介绍

[1. 基本概念](#1. 基本概念)

[2. 服务器端](#2. 服务器端)

[3. 存储和获取数据](#3. 存储和获取数据)

[4. 协议和命令](#4. 协议和命令)

[5. 高可用性](#5. 高可用性)

[6. 缓存](#6. 缓存)

[7. 监控和日志](#7. 监控和日志)

前提准备:

[1. 准备6台centos7,全部安装redis](#1. 准备6台centos7,全部安装redis)

[2. 关闭所有防火墙](#2. 关闭所有防火墙)

[3. 全部安装前置组件](#3. 全部安装前置组件)

正式部署步骤-六台全部部署

[1. 上传软件包并解压安装](#1. 上传软件包并解压安装)

[2. 配置参数](#2. 配置参数)

[3. 重启服务](#3. 重启服务)

在第一台192.168.180.100上配置脚本创建群集

[1. 下载并查看](#1. 下载并查看)

[2. 创建群集](#2. 创建群集)

[3. 查看群集状态](#3. 查看群集状态)


redis介绍

Redis是一个开源的高性能键值存储系统,广泛应用于企业级应用中。它支持多种数据结构,包括字符串、列表、哈希表和集合(set)。Redis 提供了丰富的 API,包括客户端 SDK 和命令行工具。

1. 基本概念
  • **Redis** 是一个键值存储系统。
  • **字符串**:用于存储简单的文本数据。
  • **列表**:用于存储有序的无序集合(如哈希表)。
  • **哈希表**:用于存储键值对,每个键对应一组值。
  • **集合**:用于存储唯一标识符的集合。
2. 服务器端

Redis 的服务器端通常由多个进程组成。以下是 Redis 的主进程和从进程的一些关键部分:

主进程

  • `redis-server`:主进程负责启动和管理 Redis 服务器。
  • `redis-cli`:用于与 Redis 进行交互的命令行客户端。
  • `sysstat`:监控 Redis 服务器的各种性能指标。

从进程

  • `redis-cli`:从进程负责连接到 Redis 服务器并执行命令。
  • `client`:发送命令给 Redis 主进程,并获取响应。
  • `exec`:通过管道将命令转发给 Redis 主进程,从而实现异步 I/O
3. 存储和获取数据

储存

Redis 支持多种存储类型,包括字符串、列表、哈希表和集合。以下是一些常用的数据操作:

  • **set**:设置键的值,并返回一个标志。
  • **get**:从键中获取值,返回空值或错误信息。
  • **append**:将数据追加到字符串的末尾。
  • **delete**:删除键。
  • **exists**:检查键是否存在。

获取

Redis 支持多种查询类型,包括列表、哈希表和集合。以下是一些常用的数据查询操作:

  • **lrange**:获取列表中指定区间的元素。
  • **hgetall**:获取哈希表中的所有键值对。
  • **scard**:统计哈希表中的键数量。
  • **zcard**:统计集合中的元素数量。
4. 协议和命令

Redis 支持多种协议,包括 Redis 2.0 和之前的版本。以下是一些常用的命令:

  • `SET`:设置键的值并返回一个标志。
  • `GET`:从键中获取值,返回空值或错误信息。
  • `APPEND`:将数据追加到字符串的末尾。
  • `DELETE`:删除键。
  • `EXISTS`:检查键是否存在。
  • `LPUSH`:向列表末尾添加元素。
  • `RPUSH`:向列表头部添加元素。
  • `LPOP`:从列表中移除并返回第一个元素。
  • `RPOP`:从列表头部移除并返回第一个元素。
  • `SADD`:将值加入集合。
  • `SMEMBERS`:获取集合中的所有键。
  • `SCARD`:统计集合中的键数量。
  • `ZADD`:向集合中添加一个或多个元素。
5. 高可用性

Redis 支持多种高可用性方案,包括主从复制、HAProxy 和 Redis Sentinel。以下是一些常见的高可用性配置:

  • **主从复制**:确保多个服务器之间可以同时访问数据库。
  • **HAProxy**:一个高性能的反向代理,允许负载均衡和故障转移。
  • **Redis Sentinel**:提供高可用性的服务,包括哨兵、集群管理器和监控功能。
6. 缓存

Redis 支持多种缓存机制,如 Redis Cache、Redis Memcached 和 Redis Memcached Server。以下是一些常见的缓存配置:

  • **Redis Cache**:用于存储和获取缓存中的数据。
  • **Redis Memcached**:一个高性能的内存缓存。
  • **Redis Memcached Server**:一个高性能的内存缓存服务器。
7. 监控和日志

Redis 提供了多种监控和日志功能,包括 Redis Sentinels、Redis Dashboard、Redis Slaves 和 Redis Cluster。以下是一些常见

的监控配置:

  • **Redis Sentinels**:提供负载均衡和故障转移。
  • **Redis Dashboard**:一个前端界面,方便用户查看 Redis 服务器的性能指标。
  • **Redis Slaves**:支持集群管理功能。
  • **Redis Cluster**:支持集群管理功能。

前提准备:

1. 准备6台centos7,全部安装redis

192.168.180.100

192.168.180.110

192.168.180.120

192.168.180.130

192.168.180.140

192.168.180.150

2. 关闭所有防火墙
bash 复制代码
systemctl stop firewalld && setenforce 0
3. 全部安装前置组件
bash 复制代码
yum install -y gcc gcc-c++ make

正式部署步骤-六台全部部署

1. 上传软件包并解压安装

软件包可以在我主页资源内寻找,我已上传🚨

bash 复制代码
#解压
tar zxvf redis-3.2.9.tar.gz -C /usr/src/

#安装
cd /usr/src/redis-3.2.9/
make && make install

cd /usr/src/redis-3.2.9/utils/
./install_server.sh

#查看是否启动
netstat -antp | grep redis
2. 配置参数
bash 复制代码
vim /etc/redis/6379.conf

#修改以下参数
bind 0.0.0.0

cluster-enabled yes

cluster-config-file nodes-6379.conf

cluster-node-timeout 15000

cluster-require-full-coverage no
3. 重启服务
bash 复制代码
/etc/init.d/redis_6379 restart
netstat -antp | grep 6379

在第一台192.168.180.100上配置脚本创建群集

1. 下载并查看
bash 复制代码
yum install ruby rubygems -y
gem install redis --version 3.2.0
2. 创建群集
bash 复制代码
cd /usr/src/redis-3.2.9/src/

./redis-trib.rb create --replicas 1 192.168.180.100:6379 192.168.180.110:6379 192.168.180.120:6379 192.168.180.130:6379 192.168.180.140:6379 192.168.180.150:6379

遇到要输入yes的就输入yes
3. 查看群集状态
bash 复制代码
./redis-trib.rb check 192.168.180.100:6379
  1. 测试群集
bash 复制代码
redis-cli -h 192.168.180.140 -p 6379 -c

#插入数值
set centos 7.3

#查询数值
get centos
相关推荐
ulias2122 小时前
Linux系统中的权限问题
linux·运维·服务器
沃尔威武4 小时前
数据库 Sinks(.net8)
数据库·.net·webview
青花瓷4 小时前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
mzhan0174 小时前
Linux: lock: preempt_count 是一个线程级别的变量
linux·lock
问简4 小时前
docker 镜像相关
运维·docker·容器
Dreamboat¿5 小时前
SQL 注入漏洞
数据库·sql
Dream of maid5 小时前
Linux(下)
linux·运维·服务器
齐鲁大虾5 小时前
统信系统UOS常用命令集
linux·运维·服务器
Benszen5 小时前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…5 小时前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0