redis基础知识

Redis 是一个高性能的键值对存储系统,广泛应用于缓存、消息队列、会话管理等场景。以下是 Redis 的核心知识点总结:

一、Redis 基本概念

1. 什么是 Redis
  • 定义:Redis 是一个开源的、高性能的 NoSQL 数据库,支持多种数据结构,数据存储在内存中,也可以持久化到磁盘。
  • 特点:高性能、支持丰富的数据类型、持久化、主从复制、Lua 脚本、事务、自动分片等。
2. 数据类型
  • String:简单的键值对,值可以是字符串、数字或二进制数据。
  • Hash:键值对集合,适合存储对象。
  • List:链表,可以用作队列、栈等。
  • Set:无序集合,可以进行集合运算(交集、并集、差集)。
  • Sorted Set:有序集合,元素按分数排序。
  • Bitmap:位数组,可以进行位操作。
  • HyperLogLog:基数估计算法,用于近似计算集合的基数。

二、Redis 的核心功能

1. 数据持久化
  • RDB(Redis Database):将内存中的数据定期快照保存到磁盘,恢复时加载最新的快照文件。
  • AOF(Append Only File):将每次写操作追加到日志文件中,恢复时重放日志记录以恢复数据。
  • 混合持久化:Redis 6.0 引入的功能,将 RDB 快照和 AOF 日志混合存储,以加速恢复过程。
2. 发布/订阅(Pub/Sub)
  • 机制:允许消息发送者(发布者)将消息发送到频道,多个消息接收者(订阅者)可以订阅频道来接收消息。
  • 应用场景:实时消息通知、日志收集系统等。
3. 事务(Transaction)
  • MULTI/EXEC:Redis 事务由 MULTI、EXEC、WATCH 等命令组成,事务内的命令被打包执行。
  • 乐观锁:通过 WATCH 命令实现,监控某个键值,如果事务执行期间该键被其他客户端修改,则事务被取消。
4. Lua 脚本
  • 使用:通过 EVAL 命令执行 Lua 脚本,实现复杂的原子操作。
  • 特点:原子性、可以封装多个命令、减少网络开销。

三、Redis 的高可用与集群

1. 主从复制
  • 主从结构:Redis 支持主从复制,一个主节点(Master)可以有多个从节点(Slave),从节点复制主节点的数据。
  • 复制延迟:从节点可能有短暂的延迟,主从数据同步不是完全实时的。
  • 读写分离:主节点负责写操作,从节点负责读操作,提高读写性能。
2. 哨兵模式(Sentinel)
  • 功能:Redis Sentinel 监控多个 Redis 实例,自动故障转移,保证系统的高可用性。
  • 自动故障转移:如果主节点宕机,Sentinel 会选举一个从节点提升为主节点。
  • 配置:配置多个 Sentinel 节点进行监控,增强可靠性。
3. Redis 集群
  • 分片存储:Redis 集群通过哈希槽将数据分布在多个节点上,每个节点负责一部分数据。
  • 容错:集群节点之间相互通信,如果某个节点宕机,集群可以自动进行故障转移。
  • 水平扩展:通过增加节点,可以水平扩展 Redis 集群的存储容量和处理能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值