redis的四种模式

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: redis的四种模式

redis的四种模式

5.3 XShell

一:什么是redis

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

简单的来说,redis就是跑在内存上的一个数据库,通过内存读写速度远超于硬盘的特点,实现支持高并发访问。

二:redis的四种模式

2.1 四种模式图

为了应对不同的场景,redis一共有四种模式。分别是单机模式、主从模式、哨兵模式、集群模式。

2.2 四种模式的关系

2.2.1 单机模式

单机模式是Redis最简单的运行模式,所有的读写操作都在同一个Redis实例中进行。单机模式适用于小规模应用,无法满足高可用和高并发的需求。

2.2.2 主从复制模式

主从复制模式通过复制机制实现Redis的高可用和高并发。主节点负责写操作,从节点负责读操作,从主节点复制数据。主从复制模式适用于中等规模的应用,可以提高Redis的读写性能和可用性。

2.2.3 Sentinel模式

Sentinel模式是主从复制模式的增强版,引入了Sentinel节点进行监控和自动故障转移。Sentinel节点可以监控主节点和从节点的状态,并在主节点故障时自动切换为新的主节点。Sentinel模式适用于对高可用性和故障恢复时间有要求的中大型应用。

2.2.4 集群模式

集群模式是Redis最完整的分布式解决方案,通过数据分片实现水平扩展和负载均衡。集群模式适用于大规模应用,可以实现数据分布和高并发访问,提高Redis的可扩展性和性能。

2.2.5 总结

综上所述,这四种模式可以看作是Redis在不同应用场景下的解决方案,可以根据实际需求进行选择和部署。

三:四种模式对比

3.1 单机模式

在一台服务器上安装一个redis,客户端读/写,均调用这个一个redis服务器

单机模式是最常见的Redis部署方式,指Redis运行在单独的一台物理机或虚拟机上,所有数据都存储在这个节点的内存中。这种方式适用于小型应用或开发、测试环境等。


3.2 主从模式

在三台服务器上安装至少三个redis,分为一个主节点(master)和两个从节点(slave),主节点负责写、从节点复制主节点数据,负责读。


主从复制模式(Master-Slave Replication Mode):主从复制模式指有一个主节点(Master),多个从节点(Slave)的架构。主节点负责写入数据和处理请求,从节点则负责读取数据和复制主节点的数据。这种方式可以提高读取性能和数据的可用性,适用于需要高可用性和读写分离的应用场景。

3.3 哨兵模式

在主从模式的基础上,引入哨兵(Sentinel),增加了增加了自动化的故障恢复功能。


Sentinel模式(Sentinel Mode):Sentinel模式是一种高可用性解决方案,通过引入哨兵节点(Sentinel)监控主节点的状态,当主节点宕机时,哨兵节点会选举一个从节点作为新的主节点,确保系统的可用性。这种方式适用于需要高可用性的应用场景。


3.4 集群模式

引入了哈希槽的概念,支持多个节点,访问存储。

集群模式(Cluster Mode):集群模式是一种分布式部署方式,可以将数据分散在多个物理机或虚拟机上,实现横向扩展。每个节点都保存着部分数据,通过集群协调器进行数据路由和负载均衡,提高数据的可扩展性和容错性。


四:安装流程

这里只写宏观流程,具体可以参考,我的上一篇博客

安装redis哨兵


4.1 单机安装流程
4.2 主从安装流程


主从是在单机的基础上进行实现的。一句话概括就是告诉从机,谁是你的主机。然后从机会自动去主机上同步数据。

4.3 哨兵安装流程

烧饼就是在主从的基础上,添加烧饼用来监控主机,从机的运行情况,在发生宕机时不必手动切换机器,而是自动进行切换。

4.4 集群安装流程

集群是一种分布式的部署方式,一般用于解决大型项目的数据库使用问题。


五:常用工具推荐

5.1 RDM

RDM(Redis Desktop Manager)是一个可视化的Redis管理工具,支持跨平台使用(Windows、macOS、Linux),并且是开源软件。使用RDM可以方便地管理和监控Redis实例,包括对键值对的增删改查、批量操作、数据备份和恢复、实时监控等功能。


RDM提供了多种界面风格,包括经典的“树形视图”和“终端视图”,还支持通过SSH隧道进行连接,保证数据的安全性。此外,RDM还支持多语言界面,用户可以选择自己习惯的语言进行使用。

5.2. Xftp

Xftp是一个Windows平台下的SFTP/FTP客户端软件,由南望软件公司(NetSarang)开发。它支持SFTP(SSH File Transfer Protocol)、FTP(File Transfer Protocol)、FTP over SSL(FTPS)等多种协议,可以方便地上传、下载、管理远程服务器上的文件和目录。


Xftp提供了类似Windows资源管理器的界面,用户可以通过图形化界面进行文件传输、远程编辑、命令行操作等操作。此外,Xftp还支持快速连接、批量传输、自动同步等功能,提高了文件传输和管理的效率。


Xftp的另一个重要功能是安全性,它支持SSH加密传输和SSL/TLS传输,可以保护用户数据的安全性和完整性。同时,Xftp还支持防火墙穿透、代理服务器、加密密钥管理等安全性增强功能,确保用户的文件传输和管理安全可靠。

5.3 XShell

Xshell是一款Windows平台下的终端模拟器软件,由南望软件公司(NetSarang)开发。它支持多种协议,包括SSH(Secure Shell)、Telnet、Rlogin等,可以远程连接到Linux、Unix、BSD等系统进行命令行操作和管理。


Xshell提供了类似Windows命令行的界面,支持多个会话的同时操作,可以进行文件传输、远程编辑、命令行操作等。此外,Xshell还提供了强大的脚本功能和自定义快捷键,可以方便地进行批量操作和自定义配置。


Xshell的另一个重要功能是安全性,它支持SSH加密传输和防火墙穿透,可以保护用户数据的安全性和完整性。同时,Xshell还支持多种加密算法、双因素认证、密钥管理等安全性增强功能,确保用户的远程连接和管理安全可靠。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2月前
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
|
3月前
|
存储 运维 NoSQL
Redis Cluster集群模式部署
Redis Cluster集群模式部署
103 4
|
3月前
|
缓存 运维 NoSQL
Redis主从模式部署
Redis主从模式部署
53 4
|
3月前
|
运维 监控 NoSQL
Redis Sentinel哨兵模式部署
Redis Sentinel哨兵模式部署
87 2
|
3月前
|
消息中间件 负载均衡 NoSQL
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
51 0
|
2月前
|
存储 NoSQL 算法
Redis 集群模式搭建
Redis 集群模式搭建
67 5
|
1月前
|
存储 缓存 NoSQL
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
|
1月前
|
存储 NoSQL Redis
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
Tair的发展问题之在Redis集群模式下,Lua脚本操作key面临什么问题,如何解决
|
1月前
|
NoSQL Java 调度
Lettuce的特性和内部实现问题之Redis的管道模式提升性能的问题如何解决
Lettuce的特性和内部实现问题之Redis的管道模式提升性能的问题如何解决
|
1月前
|
NoSQL 网络协议 安全
Lettuce的特性和内部实现问题之Lettuce天然地使用管道模式与Redis交互的问题如何解决
Lettuce的特性和内部实现问题之Lettuce天然地使用管道模式与Redis交互的问题如何解决