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
相关推荐
戒不掉的伤怀23 分钟前
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
服务器·数据库·mysql
超喜欢下雨天24 分钟前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
cv高级工程师YKY29 分钟前
服务器 - - QPS与TPS介绍
数据库
搬码临时工30 分钟前
小企业如何搭建本地私有云服务器,并设置内部网络地址提供互联网访问
运维·服务器
nbsaas-boot37 分钟前
高可扩展属性建模设计:架构师的全局思考与落地方案
数据库
爱上语文1 小时前
Redis基础(5):Redis的Java客户端
java·开发语言·数据库·redis·后端
tan77º1 小时前
【Linux网络编程】网络基础
linux·服务器·网络
18你磊哥1 小时前
Windows 本地安装部署 Apache Druid
运维·debian
陈敬雷-充电了么-CEO兼CTO2 小时前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法
MeshddY2 小时前
(超详细)数据库项目初体验:使用C语言连接数据库完成短地址服务(本地运行版)
c语言·数据库·单片机