简述下redis的其他机制

本文详细介绍了Redis的持久化机制,包括RDB和AOF两种方式,以及Redis如何处理缓存雪崩、缓存穿透、缓存击穿等问题。此外,还讨论了缓存预热、缓存更新和缓存降级策略,以及Redis的热点数据和冷数据处理。文章还探讨了Redis的过期策略和内存淘汰机制,并提出了Redis常见性能问题的解决方案。
摘要由CSDN通过智能技术生成


一、Redis持久化机制

Redis是一个支持可持久化的内存数据库,通过持久化机制把你内存的数据同步到硬盘文件来保证其持久化。当Redis重启的时候会将硬盘中的文件重新加载到内存之中,来达到数据回复的问题。
实现方式:单独创建一个fork()进程,将当前的父类进程的数据库数据复制到子进程的内存之中,然后由子进程将其写入到临时文件中。,持久化进程结束后能将临时文件替换上次的快照文件,然后子进程退出内存释放。
快照(rdb)
rdb是默认的持久化方式。Snapshot将内存中文件以快照的方式保存到硬盘的二进制文件并生成dump.rdb文件并通过配置文件中save参数来定义快照的周期。
Redis 使用操作系统的多进程 COW(Copy On Write) 机制来实现快照持久化,
fork(多进程)
Redis在持久化的过程中会调用glibc的函数fork产生一个子进程,快照持久化就可以完全交给子进程进行处理,父进程可以继续处理客户的请求。子进程在刚开始创建的时候和父进程共享内存里的数据段。这样内存就不会由太大的变化。
AOF:
AOF 日志存储的是 Redis 服务器的顺序指令序列,AOF 日志只记录对内存进行修改的指令记录。
Redis会将每一个收到的写命令都通过Write函数追加到文件最后,当Redis重启是会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容。

二、缓存雪崩、缓存穿透、缓存击穿、缓存预热、缓存更新、缓存降级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值