- redis与MySQL如何保持数据一致?
1.删除redis缓存
2.更新MySQL
3.删除redis缓存
- redis的持久化机制
两种持久化命令:
save:阻塞性持久化,会阻塞redis主进程,直到持久化完成
bgsave:非阻塞性持久化,通过新建子线程专门持久化,从而不影响redis主进程
手动就是上面两种命令
自动就是save M N ,相当于设置一个定时器,定时备份持久化的感觉[非阻塞持久化]
两种持久化格式
RDB:redis某个时刻的快照
优点:
1.仅一个RDB文件,方便持久化与备份
2.方便恢复,性能较好
缺点:
1.有可能丢数据,因为记录的是某个时刻的状态,因此,记录时刻与同步时刻之间的这段时间改动是有可能丢失的
2.数据多的时候,持久化的速度会比AOF慢
AOF:记录命令的操作日志
优点:
1.持久化可以设置每修改同步,即每次改动都记录操作日志,因此,最理想的情况,仅丢失一条改动
2.持久化的速度会更快
缺点:
1.恢复性能不如RDB,会更慢,启动速度也会更慢
2.文件整体会比RDB更大
- redis单线程为什么这么快-※
- 简述redis事务实现
1.multi开始事务
2.命令入队
3.exec 或 discard ,执行事务 或者 放弃事务
4.watch在multi之前输入,用于给事务加上乐观锁
- CAP理论与BASE理论
CAP: consistent && avaliable && partition tolerance
一致性:整个系统的数据状态应该是一致的,不存在逻辑矛盾的
可用性:整个系统应该保证是可用的
分区容错性:整个系统应当有容灾性能
一般是保证AP 或者 CP
BASE:basic avaliable && soft state && eventually consistent
基本可用:
软状态:允许系统短期不一致
最终一致性:经过一段时间,整个系统最终能达到数据状态一致的情况
- 什么是RPC
- 数据一致性模型有哪些
- 分布式ID是什么?有哪些解决方案
- 分布式锁的应用场景是什么?有哪些实现方案?
- 什么是ZAB协议
- 为什么ZK可以用来做注册中心
- ZK的leader领导选举流程是怎样的