
数据库
文章平均质量分 87
数据库
云丶言
大四实习程序猿一枚~!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis缓存穿透、击穿、雪崩
课程地址: 【尚硅谷】Redis 6 入门到精通 超详细 教程1.缓存穿透定义: key对应的数据在数据源中并不存在,每次针对key的请求从缓存中获取不到,请求都会压到数据源,从而可能压垮数据源。比如: 数据库中只存在id在1~9的用户信息且都已缓存,如果此时向服务端发送一个查找id=10的请求,因为缓存中不存在该id对应的数据,所以需要到数据库中进行查找操作才能够确定id=10的数据是否存在。因此,在数据库压力较大的情况下,若黑客利用此漏洞进行多次恶意的攻击就有可能会压垮整个数据库。解决方案.原创 2021-12-05 13:09:02 · 1275 阅读 · 0 评论 -
SpringBoot整合Lua脚本,实现对Redis的原子操作
前言最近笔者在鱼皮的网站面试鸭上看到了这么一道题目:怎么实现一个点赞功能?原创 2022-05-09 13:57:02 · 2583 阅读 · 4 评论 -
浅谈MySQL为何推荐使用自增主键
前言在《高性能MySQL(第3版)》中,提及了这么一段话:如果正在使用InnoDB表并且没有什么数据需要聚集,那么可以定义一个代理键(surrogate key)作为主键,这种主键的数据应该和应用无关,最简单的方法是使用 AUTO_INCREMENT 自增列。这样可以保证数据行是按顺序写入,对于根据主键做关联操作的性能也会更好。为何书本的作者会在此推荐MySQL的在选用默认存储引擎InnoDB时使用自增主键?这可能得从InnoDB存储引擎底层的数据存储结构 B+树 开始说起。1.B+树B+树原创 2022-02-21 14:30:29 · 4249 阅读 · 1 评论 -
MySQL的四种事务隔离级别
脏读时间线事务A事务B1select age from user wehre id = 1;(查询结果:18)update user set age = 20 where id = 20234567原创 2021-10-20 11:27:56 · 5165 阅读 · 5 评论 -
SpringBoot整合Sharding-JDBC分库分表中间件
1.引入依赖主要引入Sharding-JDBC依赖sharding-jdbc-spring-boot-starter,其他的依赖都是为了后面的测试环节所准备的pom.xml<!-- sharding-jdbc --><dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</a.原创 2021-10-17 11:42:05 · 796 阅读 · 0 评论 -
MySQL水平分表原理讲解
什么是水平分表?当一张表到达一定的数据量后(如500万条数据),索引的成本也随之增加,使用主键索引查找数据时也显得十分吃力,数据检索效率低。水平分表是将一个数据量大的表按照一定的规则拆分成多个结构相同的表,将数据分散到拆分出来的表中。拆分后,当我们查找某条数据时,只需要按照拆分表时的规则推断出需要查询的数据具体存在哪一张表中,到对应的表查找数据即可。下图是按照时间作为规则水平拆分表的示例:常见的水平分表方案1.按时间拆分像上图中的拆分示例,采用的是按照年份水平拆分表的方案,除此之我们还原创 2021-10-14 10:41:21 · 4388 阅读 · 2 评论 -
MySQL垂直分表原理讲解
垂直分表指的是:**表的记录并不多,但是字段却很长**,表占用空间很大,**检索表的时候需要执行大量的IO,严重降低了性能**。这时需要**把大的字段拆分**到另一个表,并且该表与原表是一对一的关系。原创 2021-10-11 12:41:38 · 3980 阅读 · 1 评论 -
MySQL命令汇总
数据库名=demo;表名=user;字符集=utf8;1.操作数据库1.1.直接创建数据库create database demo;1.2.判断是否存在并创建create database if not exists 数据库名;1.3.指定字符集创建create database demo character set utf8;1.4.查看所有数据库show databases;1.5.查看某个数据库定义信息show create database demo;1.6.修.原创 2021-10-07 20:12:14 · 928 阅读 · 0 评论 -
使用sysbench向mysql插入千万级数据
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。原创 2021-08-31 14:34:00 · 1605 阅读 · 0 评论 -
使用Docker配置MySQL主从数据库
主从数复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。原创 2021-07-11 19:27:59 · 1690 阅读 · 2 评论 -
Mybatis的介绍和使用,并与SpringBoot整合
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。避免几乎所有的 JDBC 代码和手动设置参数以及获取结果集。可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJO映射成数据库中的记录原创 2021-06-07 12:29:24 · 3363 阅读 · 4 评论