redis知识点

Redis 是一款高性能的 NoSQL 数据库,它支持多种数据结构,并且具有快速读写能力、高可用性、可扩展性等特点,被广泛应用于缓存、消息队列、计数器、排行榜等场景。

本篇文章将从以下几个方面对 Redis 进行介绍:

  • Redis 的数据结构
  • Redis 的应用场景
  • Redis 的持久化机制
  • Redis 的主从复制
  • Redis 的哨兵机制

Redis 的数据结构

Redis 支持的数据结构有以下几种:

  • String(字符串):可以存储字符串、整数或者浮点数。
  • Hash(哈希):可以存储多个键值对,类似于 Map。
  • List(列表):可以存储多个元素,支持从两端进行操作,类似于双端队列。
  • Set(集合):可以存储多个元素,不允许重复,支持集合运算(如并集、交集等)。
  • Sorted Set(有序集合):可以存储多个元素,每个元素有一个分数(可以是浮点数),根据分数进行排序。

Redis 的应用场景

Redis 可以应用于以下场景:

  • 缓存:将经常访问的数据存储到 Redis 中,可以减轻数据库的压力,提高网站的响应速度。
  • 消息队列:利用 Redis 的 List 数据结构,实现简单的消息队列功能。
  • 计数器:利用 Redis 的自增命令,实现计数器功能。
  • 排行榜:利用 Redis 的 Sorted Set 数据结构,实现排行榜功能。
  • 分布式锁:利用 Redis 的 SETNX 命令,实现分布式锁功能。

Redis 的持久化机制

Redis 的持久化机制有两种:

  • RDB(Redis DataBase):将 Redis 在内存中的数据保存到磁盘中,形成快照文件。
  • AOF(Append Only File):将 Redis 的写操作记录下来,形成日志文件。

RDB 的优点是占用空间小,恢复速度快,适合用于备份;AOF 的优点是数据丢失少,适合用于恢复。

Redis 的主从复制

Redis 的主从复制是指将主节点上的数据复制到从节点上,从而实现数据的备份和读写分离。

主节点可以进行写操作和读操作,从节点只能进行读操作,但是从节点可以提高系统的可扩展性和可用性。

主从复制的过程分为三个阶段:同步阶段、复制阶段

主从复制的过程分为三个阶段:同步阶段、复制阶段和命令传播阶段。

  1. 同步阶段:从节点向主节点发送 SYNC 命令,主节点收到 SYNC 命令后,会开始生成 RDB 文件或者 AOF 日志,并将生成的文件或日志发送给从节点,从节点接收到文件或日志后会将其加载到内存中,这样从节点就可以和主节点保持一致了。

  2. 复制阶段:主节点在同步阶段生成 RDB 文件或者 AOF 日志后,会将写操作发送给从节点,从节点接收到写操作后会进行相应的操作,从而保持和主节点数据的一致性。

  3. 命令传播阶段:主节点会将写操作发送给所有从节点,从节点接收到写操作后会进行相应的操作,这样就保证了所有节点数据的一致性。

Redis 的哨兵机制

Redis 的哨兵机制是指将一台或多台 Redis 实例配置为哨兵节点,监控 Redis 的运行状态,并在主节点宕机或者出现其他故障时,自动将从节点晋升为主节点,保证 Redis 集群的高可用性。

哨兵节点会定时向主节点发送命令,检查主节点是否正常运行,如果主节点出现故障,哨兵节点会通过投票的方式,选举出一个从节点作为新的主节点,并将其他从节点切换到新的主节点上。

哨兵节点的配置如下:

sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000

其中,mymaster 是 Redis 实例的名称,127.0.0.1 是 Redis 实例的 IP 地址,6379 是 Redis 实例的端口号,2 是指至少需要 2 个哨兵节点才能进行故障转移。

down-after-milliseconds 是指当哨兵节点在 5 秒钟内没有收到主节点的响应时,认为主节点已经下线。

failover-timeout 是指当主节点下线后,哨兵节点需要在 10 秒钟内完成故障转移。

结语

以上是 Redis 的一些基础知识和应用场景的介绍,希望能对你有所帮助。Redis 的使用非常广泛,可以应用于缓存、消息队列、计数器、排行榜等场景,具有高性能、高可用性、可扩展性等优点,是一款非常优秀的 NoSQL 数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值