- 博客(4)
- 收藏
- 关注
原创 数据库知识点
:数据库组件 :查看执行计划,以及索引。 A):Explain SQL语句。 B):force index强制走个索引。 C):主键索引,辅助索引。 :覆盖索引,避免回表查询。 意思就是,辅助索引上存储了我们需要的数据,引擎就不会去主键索引上查找了。 :联合索引 :最左匹配原则 Like ‘耀斌%’ 这样也能优化。 :索引下推 5.6之前:根据辅助索引 然后去查找主键索引,在进行查询。 5.6之后:根据辅助索引 然后过滤主键索引的值,在进行查询。 :唯一索引...
2021-08-01 18:28:06
179
原创 java基础
sychronized原理 Java提供原子性的内置锁,编译之后,代码块前后加上monitorenter和monitorexit字节码指令,操作系统底层互斥锁实现, 线程进来通过monitorenter指令去获取锁,获取到了+1,没有获取到进入队列等待,执行monitorexit指令 代表用完了,然后去-1,其他线程在来竞争锁。 加锁的过程会,会清除内存共享变量,然后释放锁,会给变量回写到内存。 在底层一点点....有二个队列 1.6之后对sychronized做了优化 无..
2021-08-01 18:05:33
92
原创 分布式锁以及原理
分布式锁 1)redis分布式锁 :使用 避免库存超卖 多个服务,多个线程进来访问一个库存共享资源,进行加锁。 导入Redisson的依赖 RLock rlock=redisson.getLock(key); rlock.lock(); rlock.ulock(); :实现原理图 lua脚本 :看门狗,就是获取了锁 送你一条狗 狗按时去检查,检查你发现还在 就给你延长时间。 :释放锁 Rlock.unlock去释放 就是给那个次数-1,为0的时候 就删除掉这个k...
2021-08-01 17:46:35
195
原创 分布式事务
1)事务 A:原子性,要么全部成功,要么全部失败。 B:一致性,数据满足完整约束性。 C:隔离性,多个事务不会互相干扰。 D:持久性,一个事务完成,之后的数据就会永久保存下来。 2)2PC二阶段提交,强一致性。 单点问题: 这个时候添加多个协调者,进行选举,协调者挂了,来一个新的协调者。 如果协调者跟参与者 都挂了,这个时候新协调者 也没办法处理,这个时候只有记录一条日志,这个时候新协调者就知道怎么处理了。 如果协调者挂 1参与者挂了,这个时候新协调者就回滚其他参与者...
2021-08-01 17:41:04
55
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人