简介

Redis 是一种开源的、基于内存的键值存储系统,常用于缓存、消息队列和数据库等场景。以下是它的主要特点:

  1. 内存存储:数据主要存储在内存中,因此读写速度极快;

  2. 持久化支持:通过 RDB 和 AOF 两种方式,可以将内存数据保存到磁盘,防止数据丢失;

  3. 多种数据结构:支持字符串、哈希、列表、集合、有序集合等丰富的数据结构;

  4. 高性能:单线程(IO线程)架构避免了多线程的竞争问题,性能出色;

  5. 高可用与扩展:支持主从复制、哨兵模式和集群模式,具备高可用性和扩展性。

主要数据结构

  1. 字符串(String):存储文本或二进制数据;

  2. 哈希(Hash):存储键值对,适合表示对象;

  3. 列表(List):有序的字符串集合,支持两端操作;

  4. 集合(Set):无序且唯一的字符串集合;

  5. 有序集合(Sorted Set):有序且唯一的字符串集合,按分数排序。

持久化机制

  1. RDB(快照):定期生成数据快照,适合备份和恢复;

  2. AOF(追加文件):记录所有写操作,数据更安全但文件较大。

高可用扩展

  1. 主从复制:主节点数据复制到从节点,提供数据冗余和读扩展;

  2. 哨兵模式:自动监控和故障转移,提升可用性;

  3. 集群模式:数据分片存储,支持水平扩展。

应用场景

  1. 缓存:加速数据访问,减轻数据库压力;

  2. 会话存储:存储用户会话信息;

  3. 消息队列:利用列表或发布/订阅功能实现消息传递;

  4. 实时排行榜:使用有序集合实现实时排名。