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