04-Redis 事务+持久化+订阅 官网教程:https://www.redis.net.cn/tutorial/3515.html 1. Redis 事务Redis 中的事务和 MySQL 中的事务有本质的区别,Redis中的事务是一个单独的隔离操作,事务中所有的命令都会序列化,按照顺序执行,事务在执行的过程中,不会被其他客户端发来的命令所打断,因为Redis服务端是个单线程的架构,不同的 Client 虽然看似可以同时保持连接 2017-06-20 05_数据库 > 03_Redis #事务 #Redis
05-Redis 主从复制+哨兵模式 官网教程:https://www.redis.net.cn/tutorial/3515.html 1. Redis 主从复制主从复制是指将一台 Redis 服务器的数据,复制到其它的 Redis 服务器。 前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。 默认情况下,每台 Redis 服务器都是主节点,且一个主节点可以有多个从节点(或没有从 2017-06-20 05_数据库 > 03_Redis #Redis #哨兵
07-Redis 穿透,击穿,雪崩,倾斜,淘汰,删除 1. 缓存穿透 概念 查不到,缓存层+持久层都压力增大 当用户去查询数据的时候,发现 redis 内存数据库中没有,于是向持久层数据库查询,发现也没有,于是查询失败,当用户过多时,缓存都没有查到,于是都去查持久层数据库,这会给持久层数据库造成很大的压力,此时相当于出现了缓存穿透。 解决方案 × 2 布隆过滤器(★):是一种数据结构,将所有可能存在的数据哈希到一个足够大的 bitmap 2017-06-20 05_数据库 > 03_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_数据库 > 03_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-安装&配置&卸载 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
02-查询语法大全 MySQL执行过程 常规 SQL 语句语法 SELECT 列名 FROM 表名 WHERE 条件 GROUP BY 分组 HAVING 过滤条件 ORDER BY 排序列 LIMIT 起始行,总条数; 执行顺序: 1234567FROM : 指定数据来源表WHERE : 对查询数据做第一次过滤GROUP BY : 分组HAVING : 对分组后的数据第二次过滤SELECT : 查询各字段的 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
04-库表创删改 1. 数据【库】操作1.1 数据值类型 sql支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。 对于我们约束数据的类型有很大的帮助。 1.1.1 数值类型 类型 大小 范围(有符号) 范围(无符号) 用途 INT/INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 DOUBLE 2017-06-18 05_数据库 > 01_MySQL #MySQL #DDL