Heim  >  Fragen und Antworten  >  Hauptteil

关于redis持久化得一些思考

redis持久化分为两种,RDB和AOF,快照和日志

持久化的目的是为了数据备份和恢复,并不是用来存储?

比如按照AOF日志中记录的都是redis操作命令来看,也就是redis内存中有多少数据,持久化到磁盘上就有多少数据。
不会出现,内存中没有某个key,而持久化中却有这个key的情况(忽略主从同步是否及时问题,同步完成数据就统一了,讨论最后结果)

所以也就不会出现类似以下两种情况的应用:

1.内存不够了,将旧的数据不断持久化到磁盘,而保持新的数据一直在内存中情况(如果设置了淘汰策略,此时会调用)
2.想查询一个内存中没有,但被持久化到磁盘上的数据,这个磁盘上的数据会被交换到内存中供查询

这也就是redis不太适合做海量数据存储的原因?因为内存中的数据量就是持久化的数据量,不会出现内存中缓存一部分,等到内存到达设定值,将冷数据持久化而将新数据保留内存(新内存中-旧持久化)的情况。因为持久化的目的不是存储而是备份和恢复,需要保证所恢复的数据是内存中最新的数据!

我不知道这样的理解是否正确,请大神解释一下!

伊谢尔伦伊谢尔伦2756 Tage vor677

Antworte allen(1)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-04-25 09:04:13

    因为内存中的数据量就是持久化的数据量,不会出现内存中缓存一部分???这句话怎么理解?

    Antwort
    0
  • StornierenAntwort