
数据库
fanfan要努力呀
暂时就用csdn来记录我的复习之路吧
展开
-
Redis面试_6
Redis集群相关问题如何从海量数据里快速找到所需?方法1–分片: 可以按照某种规则,对海量数据进行划分,将其分散存储在多个Redis节点上.这种规则通常就是获取key的哈希值,然后根据节点数求模,然后根据结果决定放在哪个节点这种方法有明显的弊端: 当我们动态的增加或者减少节点的时候,会造成大量的key无法被命中,即常规的哈希划分无法实现节点的动态增减.为此,Redis提出了一致性哈希...原创 2019-07-28 23:43:26 · 106 阅读 · 0 评论 -
Redis面试_4
AOF持久化AOF(Append-Only-File)持久化: 保存Redis服务器所执行的写状态来记录数据库,默认是关闭的,且其文件名为appendonly.aof.可以通过conf set appenonly yes使得AOF持久化生效,也可以去配置文件中修改.RDB持久化相当于备份数据库状态,而AOF持久化是备份数据库接收到的指令,所有被写入AOF的命令都是以Redis的命令格式来保存...原创 2019-07-28 20:29:25 · 102 阅读 · 0 评论 -
Redis面试_3
因为我们知道,如果不进行数据的持久化,一旦服务器退出,数据就会丢失掉.持久化方式之RDBRDB(快照)持久化: 保存某个时间点的全部数据快照到dump.rdb文件中.其中,快照, 可以理解为拍照一样,把整个内存数据映射到硬盘中,保存一份到硬盘,因此恢复数据起来比较快,把数据映射回去即可.RDB的创建命令(手动)SAVE(很少用): 阻塞Redis的服务器进程,直到RDB文件被创建完毕,...原创 2019-07-28 19:25:14 · 145 阅读 · 0 评论 -
Redis面试_2
Redis供用户使用的几种数据类型(针对k-v结构中的value)注意: Redis存储的时key-value键值对格式,其中key永远是字符串,value值可以有多重不同的数据结构同时,不论value是什么类型,它里面的数据都是字符串类型String: 最基本的数据类型,二进制安全(可以存二进制的东西,比如图片等),也就是说可以存很多东西.Hash: String元素组成的字典,适合用...原创 2019-07-28 15:20:47 · 114 阅读 · 0 评论 -
Redis面试_1
主流应用架构缓存中间件–Memcache和Redis的区别Memcache(我这个是直接看别人复制过来的,没怎么见过这个中间件,所以就没管):它非常简单易用,代码层次类似于Hash.它支持简单数据类型.不支持数据持久化存储,一旦服务器宕机,数据保存不下来的.不支持mysql那样的主从同步.不支持分片.Redis数据类型丰富,支持set.list等类型.支持数据磁盘持久化...原创 2019-07-28 12:59:18 · 154 阅读 · 0 评论 -
数据库考点_11
GROUP BY作用: 根据给定数据列的每个成员,对查询结果进行分组统计,关于这句话,有两个解释:满足SELECT字句中的列名必须为分组列或者列函数.也就是说: 要么是group by 中用到了列,要么就是带有max这类的列函数的列.注意: 上面的条件只针对同一张表成立,如果用到了多张表,就算列名不满足条件也是正确的,具体看例子2列函数对于group by子句定义的每个组各返回一个...原创 2019-07-28 00:32:30 · 408 阅读 · 0 评论 -
数据库考点_10
title: 数据库考点_10date:2019/7/27 16:46:20tags: 数据库考点_10categories: 面试next-key锁(行锁 + gap锁)行锁行锁: 即record lock,指对单个行记录上的锁.gap锁gap lock(间隙锁): 表示锁定一个范围,但不包括记录本身.其主要目的是为了防止同一事务的两次当前读出现幻读的情况.它在RC...原创 2019-07-27 21:21:27 · 235 阅读 · 0 评论 -
数据库考点_9
title: 数据库考点_9date:2019/7/26 23:15:01tags: 数据库考点_9categories: 面试InnoDB可重复读隔离级别下是如何避免幻读的表象: 快照读(非阻塞读)—伪MVCC内在: next-key锁(行锁+gap锁)...原创 2019-07-27 16:45:27 · 166 阅读 · 0 评论 -
数据库考点_8
数据库事务的四大特性总结起来就是: ACIDA–>Automic, 原子性,指的是事务包含的所有操作,要么全部执行,要么全部失败回滚.C–>Consistency.一致性,指的是事务应确保数据库的状态从一个一致性的状态,转变为另外一个一致的状态, 而一致状态是指数据库中的数据应满足完整性约束,比如说两个用户互相转账,他俩不管怎么转,钱的总数都应该是相等的.I–>Isol...原创 2019-07-26 23:15:40 · 167 阅读 · 0 评论 -
数据库考点_7
title: 数据库考点_7date:2019/7/25 19:07:09tags: 数据库考点_7categories: 面试MyISAM适合的场景适合频繁执行全表count语句,因为MyISAM用一个变量保存了整个表的行数,执行count语句只需要读出该变量即可,而InnoDB不保存表的具体行数,每次执行select count(*) from table时,需要重新扫描全...原创 2019-07-25 20:14:40 · 163 阅读 · 0 评论 -
数据库考点_6
MyISAM和InnoDB关于锁方面的区别是什么MyISAM默认使用的是表级锁,不支持行级锁.InnoDB默认使用的是行级锁,也支持表级锁.下面的东西针对于MyISAM引擎:什么是表级锁举例:前提: 我当前有一张表student,使用的是MyISAM引擎.我们在这里模拟一个并发操作哈:当我们对表进行查找操作的时候,倘若我们在查找操作还没有结束,还在执行的过程中去执行一个修改操作,我...原创 2019-07-25 19:08:21 · 162 阅读 · 0 评论 -
数据库考点_5
联合索引什么是联合索引:即由数据库的两列及以上组成的索引.最左匹配原则最左匹配原则举例:前提条件: 我们将a和b两列设置为联合索引,且a在前,b在后.当我们在where语句中调用where a= x and b = y(x,y为任意数值)的时候,它就会走这个联合索引.当我们在where语句中调用where a= x (x为任意数值)的时候,它也会走这个联合索引.但是,当我们在whe...原创 2019-07-25 14:23:30 · 182 阅读 · 0 评论 -
数据库考点_4
如何定位并优化慢查询sql(慢查询语句只会是DML,数据操作语言)这个问题属于开放性的题目,具体场景需要具体分析,这里给个大致思路根据慢日志定位慢查询sql.使用explain等工具分析sql.修改sql或者尽量让sql走索引.1. 根据慢日志定位慢查询sql慢日志的作用就是用来记录执行速度比较慢的sql语句.首先我们先看看慢日志变量的状态及相关信息连接数据库后,输入图中...原创 2019-07-25 12:36:45 · 103 阅读 · 0 评论 -
数据库考点_1
关系型数据库和非关系型数据库的区别 简单来说:1.关系型数据库通过 外键关联 来建立表与表之间的关系2.非关系型数据库通常指 数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定 比如 有一个学生的数据: 姓名:张三,性别:男,学号:12345,班级:二年级一班 还有一个班级的数据: 班级:二年级一班,班主任:李四...原创 2019-07-24 15:09:24 · 373 阅读 · 0 评论 -
Redis面试_5
title: Redis面试_5date: 2019/7/28 20:28:53tags: Redis面试_5categories: 面试使用PipeLine的好处Pipeline和linux的管道类似,Redis从文本中读取数据到内存的时候,就用到了Pipline.Redis基于请求/响应模型,单个请求处理需要一一应答. 正常情况下,客户端发送一个命令就要等待redis的...原创 2019-07-28 21:28:07 · 120 阅读 · 0 评论