redis是如何保证数据安全的?

一、redis单线程

        redis的内存读写操作是单线程的,保证操作的线程安全。redis6之后,redis的读写操作是多线程的,但核心的内存计算操作仍然是单线程的。面试官:Redis是单线程还是多线程?(你为何怎么说都不对?)_redis5和redis6的区别-优快云博客

二、Redis的持久化

        由于redis是一个内存数据库,所有的数据都是保存在内存中的,内存中的数据容易丢失。所以redis的持久化就显得尤为重要。在redis中,提供了两种数据持久化的方式,分别是RDB和AOF,默认开启RDB方式。 

(1)RDB持久化

        定期对数据进行全量备份。

优点:数据恢复速度快(保存的是完整数据)

缺点:可能会丢失部分数据

(2)AOF持久化

        将所有的写请求以命令的形式都保存在一个appendonly.aof的文件中,恢复时按照appendonly.aof文件回放。

        AOF提供了三种fsync配置:always/everysec/no, 通过配置项[appendfsync]指定。always对每个写命令都执行一次fsync操作,数据安全性最高,但速度最慢;

缺点:恢复效率较RDB低(保存的是历史的写操作命令,恢复需要重新执行一遍)

优点:数据安全性高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值