简介
Redis 是一种开源的、基于内存的键值存储系统,常用于缓存、消息队列和数据库等场景。以下是它的主要特点:
内存存储:数据主要存储在内存中,因此读写速度极快;
持久化支持:通过 RDB 和 AOF 两种方式,可以将内存数据保存到磁盘,防止数据丢失;
多种数据结构:支持字符串、哈希、列表、集合、有序集合等丰富的数据结构;
高性能:单线程(IO线程)架构避免了多线程的竞争问题,性能出色;
高可用与扩展:支持主从复制、哨兵模式和集群模式,具备高可用性和扩展性。
主要数据结构
字符串(String):存储文本或二进制数据;
哈希(Hash):存储键值对,适合表示对象;
列表(List):有序的字符串集合,支持两端操作;
集合(Set):无序且唯一的字符串集合;
有序集合(Sorted Set):有序且唯一的字符串集合,按分数排序。
持久化机制
RDB(快照):定期生成数据快照,适合备份和恢复;
AOF(追加文件):记录所有写操作,数据更安全但文件较大。
高可用扩展
主从复制:主节点数据复制到从节点,提供数据冗余和读扩展;
哨兵模式:自动监控和故障转移,提升可用性;
集群模式:数据分片存储,支持水平扩展。
应用场景
缓存:加速数据访问,减轻数据库压力;
会话存储:存储用户会话信息;
消息队列:利用列表或发布/订阅功能实现消息传递;
实时排行榜:使用有序集合实现实时排名。