Redis为什么把所有数据放到内存中?
因为Redis的定位就是一个内存数据库。
内存的读取数据是最快的,如果放到硬盘,磁盘IO的速度势必会严重影响Redis的性能,那就和一般的关系型数据库相比没什么优势可言,而且随着现在内存硬件成本的降低,内存已经不是问题,性能才是关键,现在硬盘只是成为了一种持久化方案而已。
Redis持久化有什么用?
持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数丢失。
Redis 有那几种持久化方式?
Redis提供两种持久机制: RDB (默认)和 AOF机制
RDB :即 :Redis DataBase,是Redis默认的持久化方式。 按照一定的时间将内存的数据以快照的形式报错到硬盘中,对应产生的数据文件为dump.rdb。通过配置文件中的save参数来定义快照的周期。
AOF:即:Append Only File,则是将Redis执行的每次写命令记录到单独的日志文件中,当重启Redis会重新将持久化的日志中文件恢复数据。
Redis持久化如何选择?
一般来说,应该同时使用 RDB 和 AOF 两种持久化功能。当Redis重启的时候会优先载入AOF文件来恢复原始的数据。因为在通常情况下AOF文件保存的数据集要比RDB文件保存的数据集要完整。