说到一个数据有没有持久性也就是说,当这台主机或进程重启后,数据是否还存在,而在内存中存储数据时,是没有持久性的,只要重启,数据就会丢失,而在硬盘上存储数据时,就可以保证持久性。
对于 Redis 来说,Redis 是一个内存数据库,是把数据存储到了内存中,如果想要让 Redis 也做到持久,就需要让数据存储到硬盘上。
如果只单一的存储到硬盘上,那么它和Mysql数据库不就一样了么,而 Redis 相比于 Mysql 这样的关系型数据库,最明显的一个优势就是 :快。而为了能保持这样的优势,所以,在保证 Redis 的持久性时,将数据在内存和硬盘中都进行存储。
当插入一个数据时,就需要把这个数据同时写入到“内存”和“硬盘”中,当查询某个数据时,直接从内存中读取,硬盘的数据只是在 Redis 重启的时候,用来恢复内存中的数据。
比如,Redis 有一种 “冷热数据”处理的场景