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
相关推荐
CT随5 分钟前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
TravisBytes8 分钟前
Redis如何解决热Key问题
数据库·redis·缓存
千墨9 分钟前
VMware安装Centos 9虚拟机+设置共享文件夹+远程登录
linux·运维·centos
宽带你的世界12 分钟前
TiDB 是一个分布式 NewSQL 数据库
数据库·分布式·tidb
隔壁老王15619 分钟前
tidb实时同步到mysql
数据库·mysql·tidb
2501_9032386525 分钟前
深入理解 JUnit 的 @RunWith 注解与自定义 Runner
数据库·junit·sqlserver·个人开发
小光学长35 分钟前
基于flask+vue框架的的医院预约挂号系统i1616(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
听封43 分钟前
✨ 索引有哪些缺点以及具体有哪些索引类型
数据库·mysql
利瑞华1 小时前
数据库索引:缺点与类型全解析
数据库·oracle
V+zmm101341 小时前
自驾游拼团小程序的设计与实现(ssm论文源码调试讲解)
java·数据库·微信小程序·小程序·毕业设计