Redis 数据存储类型 官网教程:https://www.redis.net.cn/tutorial/3505.html 菜鸟教程:https://www.runoob.com/redis/redis-tutorial.html 1. Redis 数据类型Redis 常用 5 种存储数据的结构: String:一个 key 对应一个值 Hash:一个 key 对应一个 Map List:一个 key 对应一个列表 S 2017-06-20 05_数据库 > 04_Redis #Redis #命令
Redis 穿透,击穿,雪崩,倾斜,淘汰,删除 1. 缓存穿透 概念 查不到,缓存层+持久层都压力增大 当用户去查询数据的时候,发现 redis 内存数据库中没有,于是向持久层数据库查询,发现也没有,于是查询失败,当用户过多时,缓存都没有查到,于是都去查持久层数据库,这会给持久层数据库造成很大的压力,此时相当于出现了缓存穿透。 解决方案 × 2 布隆过滤器(★):是一种数据结构,将所有可能存在的数据哈希到一个足够大的 bitmap 2017-06-20 05_数据库 > 04_Redis #Redis #穿透 #击穿 #雪崩 #倾斜 #淘汰
Redis 环境搭建 官网教程:https://www.redis.net.cn/tutorial/3501.html 菜鸟教程:https://www.runoob.com/redis/redis-tutorial.html 1. Redis 简介关系型数据库 与 noSQL 数据库(键值对存储) 从性能上而言,nosql数据库要优于关系型数据库,从安全性上而言关系型数据库要优于nosql数据库,所以在实际开发中一 2017-06-20 05_数据库 > 04_Redis #配置 #Redis
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
MyBatis 逆向工程 【避坑】: 注意数据库中字段名(列名)要与实体类中的字段名(属性名)完全一致 解决办法:在逆向工程生成 pojo 后,手动将 实体类的属性名+Mapper.xml的属性名 修改为完全一致,避免 N 多映射问题。 即:数据库字段名、实体类字段名、前端页面标签中的 name 属性值,三者必须完全一致。 原因: 数据库中使用小驼峰命名时,如 className,逆向工程生成 pojo 实体类属 2017-06-19 05_数据库 > 02_MyBatis #MyBatis
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
事务&原理&隔离级别 参考资料:MySQL事务的实现原理 事务的隔离级别 读未提交:一个事务可以看到其他事务未提交的修改。允许脏读 读已提交:一个事务能看到其他事务已经提交的修改。允许不可重复读和幻读 可重复读:保证同一个事务多次读取的数据是一致的。MySQL innoDB默认隔离级别,不会出现幻读 串行化:并发事务之间是串行化。读取需要获取共享锁,更新需要获取排它锁————最高隔离级别 脏读:一个事务读到了另一个 2017-06-18 05_数据库 > 01_MySQL #MySQL #事务
安装&配置&卸载 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
库表创删改 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
数据库三大范式 概念 设计数据库时,需要遵循的一些规范。要遵循后边的范式要求,必须先遵循前边的所有范式要求。设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被 称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 分类 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯科德范式(BCNF)、第四范式(4NF)、第五范式(5 2017-06-18 05_数据库 > 01_MySQL #MySQL #三大范式