概论
Redis基于键值对的非关系型数据库,丰富的数据类型,内存级的高性能I/O操作。
常见的数据类型
- String 存储字符串、数值可以实现原子增量操作。NX选项可以实现分布式锁功能
- List 双端列表 实现队列和栈
- Set 无序集合
- SortedSet 有序集合 实现排行榜应用
- Hash 适用于存储对象
Redis存储机制
- RDB:定期将数据写入磁盘,并生成RDB二进制文件。可能会导致数据丢失(写入磁盘前服务器出现故障),建议使用定期加变更的方式记录数据。
- AOF:把所有写操作的命令追加到文件末尾,数据完整性较高,影响写操作的性能(执行操作时,会屏蔽服务器的读写操作)。
Redis主从复制
- 集群启动后,从服务器会向主服务器发送消息,随后主节点开启一个后台进程传输数据给从服务器。每隔一段时间,从服务器会重复操作。
- 考虑出现网络延迟导致数据一致性问题,需要结合实际情况衡量性能和延迟,去配置优化集群。