数据结构与算法

MySQL锁(深度解析)

1、锁的类型 InnoDB实现了如下两种标准的行级锁: 共享锁(S Lock):允许事务对一条行数据进行读取 排他锁(X Lock):允许事务对一条行数据进行删除或更新 如果一个事务T1已经获得了行r的共享锁, 那么另外的事务T2可以立即获得行r的共享锁, 因为读取并没有改变行 r 的数据, 称这种情况为锁兼容 (Lock Compatible)。 但若有其他的事务T3想获得行r的排他锁, 则

加了唯一索引,但数据还是有重复的,原来如此。

今天刚创建了一个表,为订单号创建了唯一索引。 在测试同学测试的过程中,看了一下数据,竟然有重复订单号? 怎么想都想不明白,问了另一个大牛,他告诉我: 因为分库分表了。唯一键只能保证一个库中不重复,而不同库,无法限制。 我分库用的是平台ID,分表用的是订单号,我看了一下那两条数据,果然,平台ID不一样,那么他们有可能不在一个库里。 大牛说:你用同一个平台ID insert一下,我试了一下,果然插

SpringCloud微服务实战——搭建企业级开发框架(五十一):微服务安全加固—自定义Gateway拦截器实现防止SQL注入/XSS攻击

  SQL注入是常见的系统安全问题之一,用户通过特定方式向系统发送SQL脚本,可直接自定义操作系统数据库,如果系统没有对SQL注入进行拦截,那么用户甚至可以直接对数据库进行增删改查等操作。   XSS全称为Cross Site Script跨站点脚本攻击,和SQL注入类似,都是通过特定方式向系统发送攻击脚本,对系统进行控制和侵害。SQL注入主要以攻击数据库来达到攻击系统的目的,而XSS则是以恶意执

MySQL审计插件介绍

前言: 数据库审计功能主要将用户对数据库的各类操作行为记录审计日志,以便日后进行跟踪、查询、分析,以实现对用户操作的监控和审计。审计是一项非常重要的工作,也是企业数据安全体系的重要组成部分,等保评测中也要求有审计日志。对于 DBA 而言,数据库审计也极其重要,特别是发生人为事故后,审计日志便于我们进行责任追溯,问题查找。 1. MySQL 社区版审计日志现状 如果你用的是 MySQL 社区版的话,

【数据结构】队列的完整实现

队列的完整实现 队列的完整实现 github地址 前言 1. 队列的概念及其结构 1.1 概念 1.2 组织结构 2. 队列的实现 接口一览 结构定义与架构 初始化和销毁 入队和出队 取队头队尾数据 获取size和判空 完整代码与功能测试 结语 队列的完整实现 github地址有梦想的电信狗 前言​ 队列(Queue)作为一

PHP修改配置文件的两种方法

内容不错请点个赞吧,您的点赞是我前进的动力 引言 我们在PHP开发过程中经常有需要修改配置文件的场景,本文将介绍两种修改配置文件的方法,如有不足,欢迎指出! 正文   我们假设有个这样的配置文件(如果是其他格式也差不多,可将代码稍加改动) config.php <?php return [ 'name' => '滑稽mc', 'password' => '12

429. 【数据库技术基础】数据库与数据库系统

数据是描述事物的符号记录,它具有多种表现形式,可以是文字、图形、图像、声音和语言等。 信息是现实世界事物的存在方式或状态的反映。信息具有可感知、可存储、可加工、可传递和可再生等自然属性,信息已是社会各行各业不可缺少的资源,这也是信息的社会属性。 数据是信息的符号表示,而信息是具有特定释义和意义的数据。 数据库系统(DataBase System, DBS)是一个采用了数据库技术,有组织地、动态地存

R for Data Science(笔记) ---根据条件创建新变量

R for Data Science tidy流处理数据的方便,我想这与管道符%>% 的使用,数据处理动词化,有着很重要的关系。 这是之前做数据清洗时,用到比较重要的一些技能和方法。 R for Data Science(笔记) ---数据变换(filter使用) R for Data Science(笔记) ---数据变换(select基础使用) R for Data Sci

docker-daemon.json配置详解

多个配置一定要加逗号,否则启动不成功,先给个例子:我修改了docker0的网络、信任私有镜像库、存储位置 vim /etc/docker/daemon.json { "bip": "0.0.0.0/0", "insecure-registries" : ["registry.gag.cn"], "data-root": /data/docker } [root@vm-1677489993 ~]

【狂热算法篇】堆核驱动 TopK 分拣,快选奇招直击数据核心

 在数据的浩瀚海洋里,我们常常会遇到这样一类需求:从大量数据中找出最大或最小的前 K 个元素,这就是 TopK 问题。比如在搜索引擎中,要从海量网页里筛选出与用户查询最相关的前 K 个结果;在电商平台,需统计出热销商品的前 K 名。解决 TopK 问题有多种方法,这里着重介绍快速选择法与堆法 。