关于redis持久化得一些思考
伊谢尔伦
伊谢尔伦 2017-04-25 09:02:13
0
1
716

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

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

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

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

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

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

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(1)
世界只因有你

Oleh kerana jumlah data dalam ingatan ialah jumlah data berterusan, tidak akan ada sebahagian daripada cache dalam ingatan? ? ? Bagaimana anda memahami ayat ini?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan