Redis基本架构为
- ### 存储模块,
- 保存数据,数据模型为 key-value形式,value支持丰富的数据类型。包括字符串,列表 ,哈希表,集合等。不同的数据类型能支持不同的业务需求
- ### 操作模块,
- 主要对数据进行,get 、put 、delete 、scan操作
- ### 网络模块,
- 通过网络框架以 Socket 通信的形式对外提供键值对操作,包括socket服务,和协议解析, 客户端发送命令时,命令会被封装到网络请求中传输给redis。
- ### 索引模块,
- 索引模块主要是为了通过key值快速定位value值,从而进行操作。 redis使用的索引模块为哈希表。redis存储内存的高性能随机访问特性可以很好地与哈希表 O(1) 的操作复杂度相匹配。
- ### 持久化模块,
- 持久化模块主要对数据进行持久化,当系统重启时,能够快速恢复服务。redis的持久化策略分为:日志(AOF)和快照(RDB)两种方式
- ### 其他模块,
- 例如:数据压缩、过期机制、数据淘汰策略、主从复制、集群化、高可用等功能,另外还可以增加统计模块、通知模块、调试模块、元数据查询等辅助功能。