
数据库
卜思凡
这个作者很懒,什么都没留下…
展开
-
Redis为啥快?为什么是单线程的?为啥选择 Key-Value Store
1.Redis为啥快? 1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1); 2、数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的; 3、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗; 4、使用多路I/O复用模型,非阻塞IO; 5、使用底层模型不同,原创 2020-09-29 09:44:43 · 367 阅读 · 0 评论 -
左连接 ,右连接,内连接和全外连接的4者区别
基本定义: left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。 right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。 inner join (等值连接或者叫内连接):只返回两个表中连接字段相等的行。 full join (全外连接):返回左右表中所有的记录和左右表中连接字段相等的记录。 ...原创 2020-09-29 09:35:53 · 259 阅读 · 0 评论 -
为什么mysql选可重复读作为默认的隔离级别
Mysql默认的事务隔离级别是可重复读(Repeatable Read),那互联网项目中Mysql也是用默认隔离级别,不做修改么? OK,不是的,我们在项目中一般用读已提交(Read Commited)这个隔离级别! 1.为什么mysql选可重复读作为默认的隔离级别 在RR级别下,binlog为任何格式均不会造成主从数据不一致的情况出现,但是当低版本MySQL使用RC+STATEMENT组合时(MySQL5.1.5前只有statement格式)将会导致主从数据不一致。当前这个历史遗漏问题以及解决,大家可以将原创 2020-09-28 23:49:57 · 1771 阅读 · 0 评论 -
JDBC最常考的面试题
1.简单介绍一下JDBC JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。我们可以用它来连接数据库,创建和执行SQL查询,存储过程,并处理返回的结果。 2.JDBC访问数据库的基本步骤: 注册驱动 建立数据库连接(Connection) 准备 SQL 语句,获取 SQL 语句发送器(Statement) 发送并执行 SQL 语句, 得到结果集(ResultSet) 处理结果集 关闭资源(ResultSet, Statement,原创 2020-07-18 15:59:34 · 347 阅读 · 0 评论 -
Redis常考面试题
1.Redis是什么,为什么要用Redis? 2.Redis常用命令 Select命令切换数据库:select 1 Dbsize查看当前数据库的key的数量:DBSIZE Flushdb清空当前库,Flushall清空全部库 1.对键的操作: 查看所有的key:keys * 判断某个key是否存在:exists key的名字 查看key的类型:type key 为给定 key 设置生存时间:expire key 从某个库中删除key:move key db 查看还有多少秒过期:ttl key 2.对字原创 2020-07-07 16:31:10 · 162 阅读 · 0 评论 -
MySQL面试常考题
在这里插入图片描述原创 2020-06-27 15:35:51 · 332 阅读 · 0 评论