第一节 初识Redis

1. 概述

Redis是一个开源的、使用ANSI C语言编写的Key-Value存储系统。Redis的官方名称为Remote Dictionary Server(远程字典服务),它提供了多种语言的API,并且具有高性能、极低延迟和简单性的特点,被广泛用于缓存、会话管理、实时分析等场景。并且可以在 Linux、OSX、OpenBSD、NetBSD、FreeBSD上编译和使用。
Redis官网地址
Redis下载地址

2. Redis的应用场景

  • 缓存:用于存储临时数据以提高系统响应速度。
  • 会话管理:用于存储用户会话数据,如登录信息、购物车等。
  • 实时分析:用于实时统计和分析数据,如实时监控、日志分析等。
  • 消息队列:利用列表或流数据结构实现消息队列功能。
  • 分布式锁:通过设置键的过期时间,实现分布式系统中的锁机制。
  • 排行榜:利用有序集合实现排行榜功能。

3. Redis的部署模式

  • 单节点模式:这是最基本的部署方式,Redis实例单独运行在一个服务器上,处理所有的读写请求。适用于小型项目或测试环境,不具备高可用性和扩展性。
  • 主从模式 (Replication):在这种模式下,数据会在一个主节点(Master)和一个或多个从节点(Slave)之间进行复制。主节点处理写操作,从节点处理读操作,可以实现读写分离和一定程度上的负载均衡。但如果主节点失败,需要手动进行主备切换。
  • 哨兵模式 (Sentinel): 哨兵模式是主从模式的升级版,通过引入Sentinel节点来监控Redis主从集群的状态。Sentinel节点可以自动发现主节点的故障,并触发自动故障转移,提升系统的高可用性。它解决了主从模式中手动故障转移的问题。
  • Cluster模式:Redis Cluster是Redis 3.0版本后引入的分布式集群模式,它使用哈希槽(slot)的概念来分散数据,每个节点存储一部分数据。Cluster模式提供了自动的分区、高可用性以及水平扩展能力。在该模式下,数据被自动分片到不同的主节点上,每个主节点都有若干个从节点作为备份。当某个节点失败时,Cluster能够自动将流量重新导向到其他节点,确保服务的连续性。
相关推荐
lssjzmn5 小时前
🚀如何基于Redis的ZSet数据结构设计一个通用的,简单的,可靠的延迟消息队列,以RedisTemplate为例
redis
jakeswang6 小时前
应用缓存不止是Redis!——亿级流量系统架构设计系列
redis·分布式·后端·缓存
.Shu.8 小时前
Redis zset 渐进式rehash 实现原理、触发条件、执行流程以及数据一致性保障机制【分步源码解析】
数据库·redis·缓存
君不见,青丝成雪8 小时前
大数据技术栈 —— Redis与Kafka
数据库·redis·kafka
悟能不能悟8 小时前
排查Redis数据倾斜引发的性能瓶颈
java·数据库·redis
切糕师学AI8 小时前
.net core web程序如何设置redis预热?
redis·.netcore
Mi_Manchikkk8 小时前
Java高级面试实战:Spring Boot微服务与Redis缓存整合案例解析
java·spring boot·redis·缓存·微服务·面试
xiao-xiang9 小时前
redis-集成prometheus监控(k8s)
数据库·redis·kubernetes·k8s·grafana·prometheus
TT哇1 天前
@[TOC](计算机是如何⼯作的) JavaEE==网站开发
java·redis·java-ee
蚰蜒螟1 天前
Spring 和 Lettuce 源码分析 Redis 节点状态检查与失败重连的工作原理
java·redis·spring