缓存原理
Redis 缓存原理
Redis 的缓存机制主要依赖于其高性能的内存存储和一系列高级功能,包括数据持久化、数据过期策略和数据结构多样性等
下面概括一下 Redis 在缓存方面的一些核心原理:
存储与检索
- 内存存储:Redis 将所有数据保存在内存中,这样可以实现非常快速的读写操作
- 键 – 值对:数据存储为键值对,方便检索。键通常是字符串,值可以是多种数据结构
数据持久化
- 快照(Snapshotting):Redis 可以创建数据的快照并保存到磁盘中
- 追加文件(Append-only File,AOF):每个写操作都会追加到一个日志文件中。在启动时,Redis 可以通过读取该文件来恢复状态
数据过期与淘汰
- TTL(Time To Live):Redis 允许设置每个键的生存时间(TTL)。过期后,该键会被自动删除
- LRU(Least Recently Used):当内存达到上限时,Redis 可以根据最近最少使用(LRU)的策略自动淘汰数据
分布式缓存
- 主从复制(Master-Slave Replication):一台 Redis 服务器的数据可以被复制到其他多台 Redis 服务器
- 分片(Sharding):通过数据分片,Redis 可以横向扩展
高可用与故障转移
- 哨兵模式(Sentinel):用于监控 Redis 实例,并在主节点故障时自动进行故障转移
- 集群模式(Cluster):多个 Redis 节点可以组成一个集群,提供高可用性和分区容错性
拓展功能
- 发布/订阅模型:支持 Pub/Sub 通讯模型
- 事务:提供简单的事务功能