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

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

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

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

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

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

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

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

伊谢尔伦
伊谢尔伦

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

모든 응답(1)
世界只因有你

메모리에 있는 데이터의 양이 영구 데이터의 양이기 때문에 메모리에 캐시되는 부분이 없을까요? ? ? 이 문장을 어떻게 이해하시나요?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿