简介: 触发器是与表有关的数据库对象,在 insert/update/delete 之前或者之后,触发并执行触发器中定义的SQL语句集合。 触发器适合在数据库端确保数据的完整性,日志记录,数据校验 现在的触发器还只支持行级触发,不支持语句触发。 创建查看删除: -- 创建 -- CREATE TRIGGER [trigger_name] B…
简介: 在一个业务逻辑中,可能需要查询多次数据库(多次网络请求) 可以将多条SQL语句封装在一个集合当中,调用业务对应的SQL集合。 存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化开发人员的重复工作,减少网络请求的数量,提升安全(更细粒度的权限控制),从而提高开发和数据处理的效率。 存储过程思想上,就是数据库SQ…
简介: MySQL 5.0版本之后引入视图。 视图本身是一个虚拟表,不存放任何数据。使用SQL语句访问视图时,它返回的数据都是从其他表里生成的。视图和表是在同一个命名空间,MySQL对于二者大多是同样对待的。 不过也有不同,例如:不能对视图创建触发器,也不能使用DROP TABLE命令删除视图。 视图不仅可以简化用户对数据的理解,也可以简化他们的操…
插入数据: 批量插入 手动提交事务 主键顺序插入性能高于乱序插入 大批量插入数据,可以使用MySQL数据库提供的load指令进行插入: Load指令: #在连接服务器时,加上参数 --local-infile 表示读取本地文件。 mysql --local-infile -u root -p #设置全局参数local_infile为1,开启从本地加…
下载MySQL APT配置包 在MySQL官网点击社区版下载,选择长期维护版本(LTS)和操作系统 点击 Install Using APT,复制下载链接 安装MySQL 在终端中执行: // 下载MySQL APT 配置包 wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.d…
简介: 采用MySQL的业务的体系结构主要为: 连接层、服务层、引擎层、存储层 存储引擎是基于表建立的。别称 表类型 MySQL 5.5 后默认的存储引擎为InnoDB(行级锁、事务) 查看mysql数据库支持的存储引擎 SHOW ENGINES; Support DEFAULT 默认引擎 Transactions 是否支持事务 创建表时制定存储引…
ACL Redis ACL 是 Access Control List (访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。 Redis 6 提供的ACL的功能对用户进行更细粒度的权限控制: (1)接入权限:用户名和密码 (2)可以执行的命令 (3)可以操作的KEY 在Redis 5 版本之前,Redis安全规则只有密…
简介: 分布式集群系统演化的结果,是多线程多进程的分布在不同主机。导致原单机部署情况下的并发控制锁策略失效。 大部分Web应用都是依赖于Java的开发框架,而 Java 并没有提供分布式锁的支持。 为了解决这个问题,需要选择一种跨JVM的互斥机制来控制共享资源的访问。 分布式锁与它的不同方案,就是要解决这个问题。 目前的主流方案有: 1、基于数据库…
简介: 1、应用服务器压力增大 2、大量访问,但redis命中率降低(先访问缓存,未命中再访问数据库。) 3、数据库压力增大,导致崩溃 redis查询不到数据库,出现很多非正常url访问。 解决方案: (1)对空值缓存 把空结果进行缓存,并设置空结果的过期时间 (2)设置白名单 用bitmaps类型定义可以访问的名单,名单id作为bitmaps的偏…
简介: 容量不够时,redis如何进行扩容。 --建立服务器集群,分担写入压力。 并发写操作,redis如何分摊。 主从模式的从机继承,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息。 redis3.0中提供了 无中心化集群。 无中心化集群简介 任何一台服务器都可以作为集群的入口,之间可以互相联通。 Redis集群是对Red…