centos下搭建redis集群

本文介绍了Redis的基本概念、特点及应用场景,并详细讲解了如何搭建Redis集群,包括配置、启动及维护等方面的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 redis介绍

Redis(Remote Dictionary Server)是一个开源的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)以及范围查询、位图、流和地理空间索引等。Redis的主要特点是其高性能和灵活性。

Redis作为一个高性能的内存数据存储系统,在现代的Web应用、大数据和云计算领域中扮演着重要角色。它的快速响应能力、灵活的数据模型和强大的可扩展性使其成为构建高效、可靠应用的理想选择。随着技术的不断发展,Redis将继续在存储和处理大规模数据方面发挥其重要作用。

1.1 基本特征

  • 内存存储与持久化: Redis的数据存储在内存中,提供极快的读写速度。同时,它也提供了持久化功能,可以将内存中的数据保存到磁盘。

  • 支持丰富的数据类型: Redis不仅支持基本的数据类型,还支持更复杂的类型,如列表、集合和有序集合。

  • 原子操作: Redis的所有操作都是原子性的,保证执行过程中的数据完整性。

  • 发布/订阅模式: Redis支持发布/订阅消息传递模式,可以用于构建消息系统。

  • 灵活的事务处理: Redis提供了事务功能,允许通过一系列命令实现多步操作的原子性执行。

1.2 性能优化

  • 快速执行: 由于数据存储在内存中,Redis提供了非常快的数据读写能力。

  • 高效的内存使用: Redis使用高效的数据结构和算法来优化内存使用。

  • 持久化选项: Redis提供两种持久化选项:RDB(快照)和AOF(追加文件),用户可以根据需要选择或结合使用这两种持久化方式。

1.3 高可用性与数据安全

  • 主从复制: Redis支持主从复制模式,从服务器可以自动复制主服务器上的数据。

  • 哨兵(Sentinel)系统: Redis的哨兵系统提供了高可用性支持,可以在主服务器出现故障时自动进行故障转移。

  • 集群模式: Redis集群提供了数据的分片存储,以及复制和故障转移功能,以实现更高的可用性和可扩展性。

1.4 应用场景

  • 作为数据库: Redis可以存储关键的业务数据,支持丰富的数据查询和处理能力。

  • 缓存系统: 由于其高速的读写能力,Redis非常适合用作缓存系统,提高数据访问速度,减轻后端数据库的压力。

  • 消息队列系统: Redis的发布/订阅模式可以被用来构建消息队列系统。

  • 会话存储(Session Store): Redis常被用于存储Web应用的会话信息。

  • 实时分析: Redis的快速响应特性使其适合实时数据处理场景,如计数器、实时系统监控等。

1.5 开发与集成

  • 客户端支持: Redis提供了多种编程语言的客户端库,包括Java、Python、PHP、Ruby等。

  • 简单的协议: Redis使用一种简单的文本协议,使得开发和集成变得容易。

  • 丰富的文档和社区支持: Redis有着广泛的文档和一个活跃的社区,为开发者提供支持和资源。

1.6 安全性与管理

  • 访问控制: Redis支持基于密码的访问控制,以保护数据不被未授权访问。

  • 安全通信: Redis支持SSL/TLS,确保数据在传输过程中的安全性。

  • 管理与监控: Redis提供了多种管理和监控工具,如Redis命令行界面(CLI)和Redis监控。

2 redis集群搭建

2.1 下载redis3.2.8源码

sudo wget https://github.com/antirez/redis/archive/3.2.8.zip

   安装ruby:

yum install ruby
gem install  redis

2.2 创建集群文件目录

(1)创建主目录:mkdir redis-cluster
(2)进入目录:cd redis-cluster
(3)创建logs目录:mkdir logs
(4)创建pid目录:mkdir pid
(5)创建数据目录:mkdir  data
(6)创建redis配置文件
vi  node-6380.conf

   文件中填入配置内容如下:

pidfile /usr/local/etc/redis-cluster/pid/node-6380.pid  
logfile "/usr/local/etc/redis-cluster/logs/node-6380.log"  
dir /usr/local/etc/redis-cluster/data/node-6380  
port 6380  
daemonize yes  
cluster-enabled yes  
cluster-config-file node-6380.conf  
cluster-node-timeout 5000  
appendonly yes

依次创建node-6381.conf,node-6382.conf,node-63803conf,node-6384.conf,node-6385.conf,并更改文件中对应的端口数字

2.3 启动redis-server

   redis-server /usr/local/etc/redis-cluster/node-6380.conf

   redis-server /usr/local/etc/redis-cluster/node-6381.conf 

   redis-server /usr/local/etc/redis-cluster/node-6382.conf 

   redis-server /usr/local/etc/redis-cluster/node-6383.conf 

   redis-server /usr/local/etc/redis-cluster/node-6384.conf 

   redis-server /usr/local/etc/redis-cluster/node-6385.conf

2.4 创建redis集群

   进入redis源码的src目录:

   将redis-trib.rb拷贝到/usr/bin目录下:

cp redis-trib.rb   /usr/bin/

   创建集群,每个主节点一个备份:

redis-trib.rb create --replicas 1 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383  127.0.0.1:6384  127.0.0.1:6385

    确认集群配置:敲入yes

2.5 查看集群状态

   检查集群状态:redis-trib.rb check 127.0.0.1:6385

   查看集群信息:redis-trib.rb info 127.0.0.1:6385

   集群创建完成!!!!

2.6 集群维护

  (1)删除集群几点:redis-trib.rb del-node 127.0.0.1:6382 d5f6d1d17426bd564a6e309f32d0f5b96962fe53

  (2)增加集群节点:redis-trib.rb add-node --slave --master-id dcb792b3e85726f012e83061bf237072dfc45f99 127.0.0.1:6382 127.0.0.1:6386

  (3)设置集群间连接的心跳超时时间:redis-trib.rb set-timeout 127.0.0.1:6380 3000

  (4)在全部集群节点上执行命令:redis-trib.rb call 127.0.0.1:6380 get key

  (5)将外部redis数据导入集群:redis-trib.rb import --from 127.0.0.1:6380 10.10.10.1:7000

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧医疗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值