mysql篇:
mysql主从复制原理?
mysql复制基于三个线程
1、master的binlog dump线程负责将binlog事件传达给slave
2、slave上的IO线程接收binlog事件,并写入relay log
3、save上的SQL线程读取relay log运行
innodb和myisam引擎的主要区别是什么?
InnoDB支持事物,MyISAM不支持
InnoDB支持外键,MyISAM不支持
InnoDB不支持全文索引,MyISAM支持
InnoDB支持锁定行,MyISAM仅支持锁定表
InnoDB数据存储在表空间中,MyISAM存储在文件中
binlog支持什么格式?
语句:只记录执行语句
row :记录每行数据的更改过程
混合:在上面两种模式的混合模式中,mysql根据特定的SQL确定记录的语句或行格式
xtra备份的原理是什么?
直接复制表空间文件。 由于未锁定表,数据可能不匹配,因此您将同时接收对mysql重做日志的更改。 重做日志包含对InnoDB数据的所有更改
使用重做日志清除表空间文件并生成完整备份
为什么要用索引?
缺省情况下,mysql必须从第一行中的数据读取整个表,然后才能搜索数据
索引也是保存主键和索引字段的表,指向实体表中的记录。 如果有索引,则首先在索引中查找相应的值,然后根据匹配的索引记录查找相应的数据行
redis篇:
redis的数据类型有几种?
字符串(字符串)
散列(Hash )。
列表。
集合(Set ) )。
有序集合(sorted set ) ) )。
reids线程模型?
redis的IO模型是单线程的,它使用多线程I/O复用模型来提高处理效率
使用单线程的主要redis数据在内存中的I/o速度很快,多线程需要切换上下文才能影响CPU的性能
redis的持续化战略?
RDB :快照格式是将内存中的数据直接保存在一个dump文件中,并按更改次数定时保存
AOF:redis将所有修改的命令保存在一个文件中
redis的主从复制过程?
首先进行全量同步,主节点拍摄RDB文件的快照,slave在收到文件后清除旧数据并将文件加载到内存中
如果主机有写入,则主机使用PSYNC命令连接到slave同步增量数据
reids集群哨兵模式的特性?
监控:各哨兵不断监控主机和slave是否正常工作
注意:如果哨兵监视的redis有问题,哨兵可以通知管理员和其他APP应用程序
故障转移:如果大师不按预期工作,哨兵可以选择新的大师继续工作
配置步骤:客户端必须连接到哨兵,哨兵将当前主节点的地址通知客户端
redis事务的特征是什么?
redis事务本质上是一系列指令的集合,其特征在于一次顺序且排他地执行一个队列中的一系列指令
如果一个命令运行失败,则redis事务无法保证原子性,因为其他命令将继续运行,也无法回滚