redis的数据类型
- string
- hash
- list
- set
- sortset
redis持久化机制
RDB 在某个时间点将数据写入一个临时文件。
优点:
- 只有一个dump.rdb 方便持久化
- 容灾性好,一个文件可以保存到安全的磁盘。
- 性能最大化,fork子进程来完成写操作,所以是IO最大化。
缺点:
- 数据安全性低,因为是间隔一段时间,会发生数据丢失。
AOF 将所有的命令行记录以redis命令请求协议的格式完全持久化存储,保存为AOP文件。
优点:
- 数据安全,每进行一次命令操作就记录一次。
- AOF机制中的rewrite模式,AOF文件没有被rewrite(文件过大时会对命令进行合并重写)之前,可以删除其中的命令。
缺点: AOF文件比RDB文件大,恢复速度慢。 数据集大的时候,比rdb启动慢。
redis过期键的删除策略
- 定时删除
- 惰性删除
- 定期删除
redis回收策略
- 从已设置过期时间的数据集中挑选最近最少使用的数据淘汰
- 从已设置过期时间的数据集中挑选将要过期的数据淘汰
- 从已设置过期时间的数据集中随机淘汰
- 从数据集中挑选最近最少使用的数据淘汰
- 从数据集中随机淘汰
- 禁止淘汰数据
redis主从同步机制
第一次同步时,主节点做一次bgsave,并同时将后续修改操作记录到内存buffer,待完成后将rdb文件全量同步到复制节点,复制节点接受完成之后将rdb镜像加载到内存中,加载完成后,通知主节点将期间修改的操作记录同步到复制节点进行重放就完成了同步。
redis事务
- 事务是一个单独的隔离操作,事务中的所有命令都会序列化、按顺序的执行。事务在执行的过程中,不会被其他客户端发送来的命令打断。
- 事务是一个原子操作。
redis事务相关的命令
MULTI、EXEC、DISCARD、WATCH