07-Redis 穿透,击穿,雪崩,倾斜,淘汰,删除 1. 缓存穿透 概念 查不到,缓存层+持久层都压力增大 当用户去查询数据的时候,发现 redis 内存数据库中没有,于是向持久层数据库查询,发现也没有,于是查询失败,当用户过多时,缓存都没有查到,于是都去查持久层数据库,这会给持久层数据库造成很大的压力,此时相当于出现了缓存穿透。 解决方案 × 2 布隆过滤器(★):是一种数据结构,将所有可能存在的数据哈希到一个足够大的 bitmap 2017-06-20 05_数据库 > 04_Redis #Redis #穿透 #击穿 #雪崩 #倾斜 #淘汰
08-Redis SortedSet 排行榜 官网教程:https://www.redis.net.cn/tutorial/3505.html 菜鸟教程:https://www.runoob.com/redis/redis-tutorial.html 场景: 实现汽车热度排行榜 现有 Api 消费者服务、CarServer 提供者服务、Cache Redis缓存服务 1. 基本逻辑数据预热: 第一次从 Api 进行访问请求 CarSe 2017-06-20 05_数据库 > 04_Redis #Redis #排行榜
08-MyBatis 逆向工程 【避坑】: 注意数据库中字段名(列名)要与实体类中的字段名(属性名)完全一致 解决办法:在逆向工程生成 pojo 后,手动将 实体类的属性名+Mapper.xml的属性名 修改为完全一致,避免 N 多映射问题。 即:数据库字段名、实体类字段名、前端页面标签中的 name 属性值,三者必须完全一致。 原因: 数据库中使用小驼峰命名时,如 className,逆向工程生成 pojo 实体类属 2017-06-19 05_数据库 > 02_MyBatis #MyBatis
09-MyBatis JSON转换器 Mysql5.7 之后推出新增的数据类型:json (支持数组和对象) 但是 MyBatis 目前还不支持Json类型的转换,需要在 Mybatis 自定义类型转换器。 1. Mybatis JSON 转换器 依赖 12345678910111213141516171819<dependency> <groupId>com.google.code.gson&l 2017-06-19 05_数据库 > 02_MyBatis #JSON #MyBatis
01-MyBatis 环境与使用 扩展了解:Mybatis-Plus、TKMybatis、Hibernate、jpa 1. 引言1.1 ORM框架介绍ORM(Object Relational Mapping)对象关系映射,将程序中的一个对象与表中的一行数据一一对应。 ORM框架提供了持久化类与表的映射关系,在运行时参照映射文件的信息,把对象持久化到数据库中。 1.2 使用JDBC完成ORM操作的缺点 存在大量的冗余代码。 2017-06-18 05_数据库 > 02_MyBatis #配置 #MyBatis
03-MyBatis ORM关系映射 1. ORM映射【★】1.1 MyBatis自动ORM失效MyBatis 只能自动维护库表列名与属性名相同时的一一对应关系,二者不同时,无法自动ORM。 自动ORM失效 1.2 一:列的别名在SQL中使用 as 为查询字段添加列别名,以匹配属性名。 注意:列名与属性名相同时可不需要添加 列别名,直接使用 ResultMap 结果映射。 1234567<mapper n 2017-06-18 05_数据库 > 02_MyBatis #ORM #MyBatis
02-MyBatis CRUD和工具类 1. MyBatis的CRUD操作【★】Mapper接口的动态代理实现,需要遵循 4 大原则: 映射文件中的 namespace 命名空间(名称空间)与 Mapper 接口的全路径限定名一致 12<!-- 对应全限定包名 com.demo.dao.AdminMapper --><mapper namespace="com.demo.dao.AdminMapper 2017-06-18 05_数据库 > 02_MyBatis #MyBatis
01-MyBatis-Plus 入门使用 中文官网:https://mp.baomidou.com/ 1. 简介Mybatis目前市场很主流,但是基础操作很臃肿。市场上有一些对其进行二次封装的框架,中小型企业首选: Mybatis-plus 官网:https://mp.baomidou.com/ 源码:https://github.com/baomidou/mybatis-plus TKMybatis: 源码:https://g 2017-06-18 05_数据库 > 03_MyBatis-Plus #语法 #MyBatis #MyBatisPlus
01-安装&配置&卸载 CentOS 系统下mysql安装1. 安装前准备1. 卸载MariaDB安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。 1.1 查看是否安装mariadb 1rpm -qa|grep mariadb 1.2 卸载 1rpm -e --nodeps 文件名 1.3 检查是否卸载干净 1rpm -qa|grep mariadb 1. 检查依赖2.1 查看是否 2017-06-18 05_数据库 > 01_MySQL #安装 #配置 #MySQL
03-DML增删改 SQL语言分类: 数据`查询`语言 `DQL`(Data Query Language):select、where、order by、group by、having 数据`定义`语言 `DDL`(Data Definition Language):create、alter、drop 数据`操作`语言 `DML`(Data Manipulation Language):insert、up 2017-06-18 05_数据库 > 01_MySQL #MySQL #DML