数据结构与算法
如何搞定MySQL锁(全局锁、表级锁、行级锁)?这篇文章告诉你答案!太TMD详细了!!!
概述
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。
MySQL中的锁,按照锁的粒度分,分为以下三类:
全局锁:锁定数据
21《Spring Boot 入门教程》Spring Boot 安全管理
1. 前言
安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题。
本节就来演示下,如何使用 Spring Boot + Spring Security 开发前后端分离的权限管理功能。
2. Spring Security 用法简介
作为一个知名的安全管理框架, Spring Security 对安全管理功能的封装已经非常完整了
【5分钟背八股】 简述myisam和innodb的区别?
InnoDB存储引擎: 主要面向OLTP(Online Transaction Processing,在线事务处理)方面的应用,是第一个完整支持ACID事务的存储引擎(BDB第一个支持事务的存储引擎,已经停止开发)。
特点:
支持行锁
支持外键
支持自动增加列AUTO_INCREMENT属性
支持事务
支持MVCC模式的读写
读的效率低于MYISAM
写的效率高优于MYISAM
适合频繁修改以及
Mybatis的一级缓存和二级缓存,看完不再懵逼
缓存是什么?
缓存其实就是存储在内存中的临时数据,这里的数据量会比较小,一般来说,服务器的内存也是有限的,不可能将所有的数据都放到服务器的内存里面,所以, 只会把关键数据放到缓存中,缓存因为速度快,使用方便而出名!
为什么需要缓存
BS架构里面,用户的所有操作都是对数据库的增删改查,其中查询的操作是最多的,但如果用户想要某个数据时每次都去数据库查询,这无疑会增加数据库的压力,而且获取时间效率也会降
mysql索引创建时的12条建议
mysql创建索引的建议,大家可以参考下,不是强制要求
1.建议索引中的字段数量不要超过5个
2.单张表索引数量控制在5个以内
3.唯一索引和主键不要重复
4.索引字段的顺序需要考虑字段唯一值的个数,个数越多越好,越要放在前面
5.order by、group by 、distinct字段要放在复合索引的后边,也就是说,符合索引前面是用于等值查询,后边用于排序操作
6.使用explain判断sq
分库分表神器 Sharding-JDBC
一、Sharding-JDBC 简介
最早是当当网内部使用的一款分库分表框架,到2017年的时候才开始对外开源,这几年在大量社区贡献者的不断迭代下,功能也逐渐完善,现已更名为 ShardingSphere,2020年416正式成为 Apache 软件基会的顶级项。
随着版本的不断更迭 的核心功能也变得多元化起来。从最开始 Sharding-JDBC 1.0 版本只有数据分片,到 Sharding-
【C++ 算法】DFS & BFS 一篇速成学习
📃个人主页:island1314⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 生活总是不会一帆风顺,前进的道路也不会永远一马平川,如何面对挫折影响人生走向 – 《人民日报》
🔥 目录
【算法学习】递归、搜索与回溯算法(一)
算法学习:#前言:
这个专题与前面的相比是比较有难度的,但是在平时刷题时出现的概率还是非常高的,下面还是按照之前的逻辑来理清一下这几道题
目录1. 递归1.1 汉诺塔问题1.2 Pow(w,n)2. 二叉树中的深搜2.1 计算布尔二叉树的值3. 回溯3.1 全排列3.2 子集4. 总结1. 递归1.1 汉诺塔问题面试题 08.06. 汉
【优选算法 | 滑动窗口】滑动窗口算法:高效处理子数组和子串问题
算法
相关知识点
可以通过点击
以下链接进行学习
一起加油!
双指针
在本篇文章中,我们将深入剖析滑动窗口算法的核心原理。从基础概念到实战应用,带你了解如何利用滑动窗口高效解决连续子数组和子串等问题。无论你是算法入门的新手,还是希望提升代码效率的高手,滑动窗口都将成为你优化算法的重要武器!