首页 数据库 数据库事务机制功能介绍

数据库事务机制功能介绍

1.事务功能作用
功能作用:事务功能主要是保证数据库中数据的安全性
事务机制:ACID
详细ACID参考链接:https://dev.mysql.com/doc/refman/8.4/en/mysql-acid.html
A: atomicity(原子性)
在一个事务中,做的所有语句操作,要么都成功,要么都失败,不能有部分成功部分失败的情况
银行转账 账户A -100-> 账户B
账户表中
账户名称 账户金额
账户A 500
账户B 0

update 账户表 set 账户金额=账户金额-100 where 账户名称='账户A'; 400元
update 账户表 set 账户金额=账户金额+100 where 账户名称='账户B'; 100元

C: consistency (一致性)
在一个事务处理数据过程中,数据库正常运行或数据库出现异常重启后,数据信息要保证一致性
银行转账 账户A -100-> 账户B

update 账户表 set 账户金额=账户金额-100 where 账户名称='账户A';
update 账户表 set 账户金额=账户金额+100 where 账户名称='账户B';
select * from 账户表;
账户名称 账户金额
账户A 400
账户B 100
commit; -- 将内存查看信息保存到磁盘(自动提交/手动提交)
重启数据库
账户名称 账户金额
账户A 500
账户B 0

doublewrite buffer -- 双写缓冲区/双写文件中(#ib_16384.dblwr)

mysql 存储数据过程中:
需要处理的数据都会加载到内存中
内存区域 <-IO消耗加载数据- 磁盘区域
账户A 400 账户A 500 -- page01
账户B 100 账户B 0
page01
内存区域 提交保存数据信息-> 磁盘区域
账户A 400 账户A 500 -- page01
账户B 100 账户B 0
page01

page01 16kB block-01 4kB
block-02 4kB
数据库进程停止了 page01 - 16KB -- 坏页
..
block-04 4kB

page01 16kB 4KB 4KB 4KB 4KB -- doublewrite buffer -- #ib_16384.dblwr (完整内存中16KB数据信息)

page01 - 16KB -- 坏页
数据库异常停止,再次重新启动时,会自动触发灾难恢复机制(InnoDB crash recovery)
加载磁盘中可能存在坏页: page01 - 16KB -- 坏页 -- 修复坏页 -- 加载#ib_16384.dblwr 将双页文件中数据修复到坏页中

I:Isolation (隔离性)
在一个事务中应用隔离特性,主要用于保证事务的操作过程,不会受到其他事务对相同数据操作的影响

银行转账 账户A -100-> 账户B 账户A - 500 -> 账户C

事务01 账户A -100-> 账户B
update 账户表 set 账户金额=账户金额-100 where 账户名称='账户A'; 账户A - 行 Row Lock -- unLock
update 账户表 set 账户金额=账户金额+100 where 账户名称='账户B';
commit;

事务02 账户A - 500 -> 账户C
update 账户表 set 账户金额=账户金额-500 where 账户名称='账户A'; 账户A - 行 阻塞
update 账户表 set 账户金额=账户金额+500 where 账户名称='账户C';

-- 可以应用锁机制(写冲突问题)和隔离级别设置(读冲突问题)确保并行事务操作相同数据不会产生冲突


D: durability (持久性)
事务持久特性,主要是用于保证当数据库内存中没有保存到磁盘的数据释放后,可以有效进行内存数据恢复

mysql 存储数据过程中:
需要处理的数据都会加载到内存中
内存区域 <-IO消耗加载数据- 磁盘区域
账户A 400 账户A 500 -- page01
账户B 100 账户B 0
page01
commit
内存区域 提交保存数据信息-> 磁盘区域
账户A 400 账户A 500 -- page01
账户B 100 账户B 0
page01
数据库停止了 (没有做双写操作 没有将数据写入磁盘)

内存区域 磁盘区域
账户A 400 账户A 500 -- page01
账户B 100 账户B 0
page01

update 记录信息 -- redo文件(记录对数据页中数据的操作信息)
page01 账户A 500->400 账户B 0->100
commit

内存区域 磁盘区域
账户A 500 -- page01
账户B 0

数据库异常停止,再次重新启动时,会自动触发灾难恢复机制(InnoDB crash recovery)
会加载redo文件信息 根据redo文件中数据页信息和磁盘中对应数据页数据对对比
redo page01 (LSN信息做对比 01 LSN=200) 磁盘 page01 (LSN信息做对比 01 LSN=100)
账户A 500->400 400 账户A 500
账户B 0->100 100 账户B 0
将磁盘中原有数据页重新加载到内存中,并根据redo文件中的操作记录,重新对数据信息进行处理
内存区域 <-IO消耗加载数据- 磁盘区域
账户A 400 账户A 500 -- page01
账户B 100 账户B 0

数据库ACID机制
数据库ACID机制:
1)介绍ACID机制功能作用
A -- 在一个事务中,做的所有语句操作,要么都成功,要么都失败,不能有部分成功部分失败的情况
C -- 在一个事务处理数据过程中,数据库正常运行或数据库出现异常重启后,数据信息要保证一致性
I -- 在一个事务中应用隔离特性,主要用于保证事务的操作过程,不会受到其他事务对相同数据操作的影响
D -- 事务持久特性,主要是用于保证当数据库内存中没有保存到磁盘的数据释放后,可以有效进行内存数据恢复
2) ACID机制特性如何实现
A -- 实现原子性,需要借助redo(记录对数据的操作信息)和 undo文件信息(记录操作前的数据信息)
C -- 实现一致性,需要借助doublewrite buffer(缓冲区/文件)和 InnoDB crash recovery 机制
I -- 实现隔离性,需要借助数据库锁功能(写隔离/避免写冲突)和借助隔离级别(Transaction isolation levels)功能设置 (读隔离/读冲突)
D -- 实现持久性,需要借助redo(记录对数据的操作信息)和 InnoDB crash recovery 机制
会间接应用 doublewrite buffer 和 undo文件信息
2.数据库事务功能应用
方式一: 手动开启应用事务功能
begin(start transaction); 对库或表或数据可以进行SQL语句操作
DDL DCL 在事务中只能做一个语句操作;commit(自动触发)
DML DQL 在事务中可以做多个语句操作;commit/rollback
PS:当手动开启事务,必须进行手动提交,否则数据库会话断开或数据库服务重启,事务操作会自动撤销

设置数据库配置项,实现手动事务功能:autocommit=0;
DML 操作,必须在操作之后,进行手动提交事务
DDL DCL 操作,可以实现操作后,进行自动提交事务

方式二: 自动触发应用事务功能
设置数据库配置项,实现自动事务功能:autocommit=1;
操作数据库执行DDL DCL语句也会实现自动提交事务功能

应用数据库到底是实现手动事务功能还是自动事务功能
手动应用事务:
优势:可以更好保证多个DML语句操作过程中,实现原子性
缺陷:可能由于没有手动触发commit操作,导致数据丢失
自动应用事务:
优势:会在完成所有SQL语句后,都会自动进行数据提交保存,可以避免数据都是
缺陷:无法实现多个DML语句操作过程中,业务逻辑的原子性

补充:事务的自动回滚功能在什么时候会自动触发;
- 情况一:在事务操作过程中,会话窗口自动关闭了,会进行隐式自动回滚;
- 情况二:在事务操作过程中,数据库服务被停止了,会进行隐式自动回滚; (避免大的数据库事务应用-大事务应用)
- 情况三:在事务操作过程中,出现事务冲突死锁了,会进行隐式自动回滚; (若死锁不做回滚,会导致大量并行事务阻塞)
3.事务隔离机制中中应用的隔离级别
RU READ-UNCOMMITTED (读未提交级别) 默认具有 脏读问题 不可重复读问题 幻读问题 并行事务处理能力最强
RC READ-COMMITTED (读已提交级别) 默认具有 不可重复读问题 幻读问题 并行事务处理能力一般
RR REPEATABLE-READ (可重复读级别) 默认没有以上读取数据问题 (默认级别) 可以有效保证并行处理能力
SR SERIALIZABLE (事务串行化级别) 默认没有以上读取数据问题 并行事务处理能力最差

并行事务读取数据可能出现的冲突问题:脏读问题 不可重复读问题 幻读问题
脏读: 并行事务之间读取数据,可以读取到事务中未提交数据
不可重复读: 单个事务进行数据查询时,每次查询的数据内容都不一致
幻读: 单个事务进行数据查询时,每次读取数据量不一致

创建测试数据:
create table t1 (
id int not null primary key auto_increment,
a int not null,
b varchar(20) not null,
c varchar(20) not null
) charset=utf8mb4 engine=innodb;

begin;
insert into t1(a,b,c)
values
(5,'a','aa'),
(7,'c','ab'),
(10,'d','ae'),
(13,'g','ag'),
(14,'h','at'),
(16,'i','au'),
(20,'j','av'),
(22,'k','aw'),
(25,'l','ax'),
(27,'o','ay'),
(31,'p','az'),
(50,'x','aze'),
(60,'y','azb');
commit;

set global transaction_isolation='READ-UNCOMMITTED';
select @@transaction_isolation;

开启事务A
修改数据信息

开启事务B
看到修改后但未提交数据
直接操作未提交数据,或出现数据异常情况
-- 以上情况出现,表示脏读问题没有避免

set global transaction_isolation='READ-COMMITTED';
select @@transaction_isolation;

开启事务A
修改数据信息,并做事务提交

开启事务B
对表中数据做统计分析,但是每次分析的结果都不一致
-- 以上情况出现,表示不可重复读问题没有避免

开启事务A
修改数据信息(范围信息),并做事务提交
事务A核对修改数据信息时,出现异常数据内容

开启事务B
对表中数据插入操作,可以插入符合A事务范围中的数据
-- 以上情况出现,表示幻读问题没有避免

set global transaction_isolation='REPEATABLE-READ';
select @@transaction_isolation;
-- 利用RR级别可以有效避免 脏读 不可重复读 以及幻读问题 并且在某个数据需要合理并行操作时,不会降低并行事务处理能力

RR级别并行事务操作处理能力
事务A 事务B
读操作 读操作 --- 没有阻塞 可以并行处理
读操作 写操作 --- 没有阻塞 可以并行处理
写操作 写操作 --- 没有阻塞 可以并行处理(同时写操作数据不能有关联)

set global transaction_isolation='SERIALIZABLE';
select @@transaction_isolation;

SE级别并行事务操作处理能力
事务A 事务B
读操作 读操作 --- 没有阻塞 可以并行处理 但会影响后续的事务中写操作
写操作 读操作 --- 会有阻塞 不能并行处理
写操作 写操作 --- 没有阻塞 可以并行处理(同时写操作数据不能有关联) 但会影响后续数据检查
-- 串行级别事务中的操作,基本都是采用串行方式执行(串行级别中应用的锁基本都是表级锁)
数据库服务日志管理知识
1.数据库日志分类和日志记录信息作用
错误日志:记录数据库启动异常和运行过程中错误信息
通用日志:记录用户登录数据信息/记录登录成功后用户的操作行为 审计信息
二进制日志: 记录完整事务中操作语句信息(DQL语句不记录),以时间信息记录内容 用于修复数据/主从同步数据
慢查询记录:记录数据库的执行操作慢的语句 select/insert/update/delete 优化改进数据库服务性能
2.数据库日志应用管理配置
错误日志:
log_error 可以用于创建错误日志和指定日志存储以及名称信息

vim /etc/my.cnf
[mysqld]
log_error=/data/3307/log/error.log

通用日志:
general_log 是否开启通用日志
general_log_file 当通用日志功能开启,指定日志存储路径和名称信息

慢查询日志(-- 了解基础配置和查看即可):
slow_query_log -- 是否开启慢查询日志功能
slow_query_log_file -- 当慢查询日志功能开启,指定慢查询日志存储路径和名称信息
long_query_time -- 表示记录慢查询信息条件,当查询操作时间超过配置项设置的数值,就会记录语句到日志中
log_queries_not_using_indexes -- 表示记录慢查询信息条件,查询操作没有应用索引的语句都会记录到日志中
二进制日志
1)如何应用二进制日志
log_bin -- 可以应用配置项开启二进制日志功能并设置存储路径和名称信息

2)如何查看二进制日志
方法一:查看日志信息-利用命令查看日志
mysqlbinlog binlog.000001

查看日志文件关注内容:
# at xxx数值 -- 完成某些事务中事件位置点信息 便于修复指定数据或进行主从同步
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/; -- ???
DDL DCL DML 语句信息 -- 语句信息

方法二:查看日志信息-利用SQL语句查看
show binary logs; -- 查看数据库服务可以加载的日志信息
show master status; -- 查看日志的应用状态信息
+---------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000002 | 157 | | | |
+---------------+----------+--------------+------------------+-------------------+

File -- 此时数据库服务正在应用哪个binlog日志文件
Position -- 日志内容记录的位置点变化情况
Binlog_Do_DB -- 日志记录白名单设置
配置文件中 binlog_do_db=xiaoA 对xiaoA数据库的所有SQL操作都会记录日志 其他数据库SQL操作不记录
Binlog_Ignore_DB -- 日志记录黑名单设置
配置文件中 binlog_ignore_db=xiaoA 对xiaoA数据库的所有SQL操作都不会记录日志 其他数据库SQL操作会记录
Executed_Gtid_Set -- 记录数据事务编号信息

show binlog events in '日志名称' -- 直接查看指定日志中的内容
总结
课程知识内容梳理:
01 数据库服务事务功能应用
1)数据库事务特性:ACID 每个特性作用 每个特性实现方法
2)数据库事务应用:手动方式应用 begin;DDL/DML/DCL;commit/rollback 自动方式应用 autocommit=ON
3) 事务隔离级别: 有什么隔离级别 RU RC RR SR 每个隔离级别特性
了解并行事务读取数据问题:脏读? 不可重复读? 幻读?
02 数据库服务日志管理方法
1)数据库日志类型: 通用日志 错误日志 慢查询日志 二进制日志 每个日志作用/每个日志记录什么信息
2)数据库日志管理: 通用日志 错误日志 慢查询日志 -- 创建日志/查看日志
二进制日志 创建日志/查看日志

01 数据库InnoDB存储引擎体系结构?
InnoDB 默认的数据存储引擎(MySQL5.5之后的)
应用场景:适用于读多写多,可以保证数据存储安全性和一致性,如:游戏 金融 银行
应用特点:支持事务(保证数据存储安全性)
支持行级锁(提高并发处理能力)
支持MVCC机制(可以实现热备数据,并且备份期间不影响数据库正常存储业务)
支持外键功能

MyISAM 早期的数据存储引擎(MySQL5.5之前的)
应用场景:适用于读多写少,数据完整性要求不高的场景,如博客,新闻网站等
应用缺陷:不支持事务(无法保证数据存储安全性)
无法支持行级锁,但可以支持表级锁(改善数据库并发处理能力)
不支持MVCC多版本并发控制机制(在数据备份时,可以实现不影响业务进行备份数据)
不支持外键约束功能
02 数据库事务的两阶段提交是什么? commit; -- 数据库接收到提交指令,会完成2个事务操作处理 最终才会将提交数据信息写入磁盘

03 数据库事务相关双一配置是什么? 双一配置 innodb_flush_log_at_trx_commit=1 sync_binlog=1

04 数据库中什么是大事务,如何避免大事务出现? 大事务出现会造成什么影响?
什么是大事务?
执行时间过长或一次性操作数据量过大的事务(通常指超过秒级,或涉及万级以上行操作)。

如何避免(3招)
剔除非DB操作:事务内严禁调用 HTTP 接口、文件 IO 或复杂计算,只保留纯 SQL。
分批提交:大批量增删改时,拆分为小批次(如每次 500-1000 条),每批提交一次。
异步处理:耗时任务改为通过消息队列后台异步执行,不阻塞主流程。

核心危害(3点)
锁阻塞:长时间持有行锁,导致其他业务排队等待,甚至引发死锁或超时。
主从延迟:从库必须串行回放该事务,导致主从数据同步严重滞后。
资源爆炸:Undo Log 无法清理(版本链变长),内存(Buffer Pool)被挤占,且回滚极慢(可能比执行还久)。

一句话总结:事务内只做最短的 DB 操作,大批量任务必须拆分或异步。

站星网

1.事务功能作用功能作用:事务功能主要是保证数据库中数据的安全性事务机制:ACID详细ACID参考链接:https:..

为您推荐

Seata实现分布式事务:大白话全剖析(核心讲透AT模式)

Seata 本质是把分布式事务的各种经典方案(2PC、TCC、Saga、XA)做了极致封装和优化的框架,不用你从零写底层逻辑,只需要简单配置和少量注解,就能落地分布式事务。它的核心设计是拆分全局事务为多个本地事务,由Se..

数据库表设计

字节首先需要达成共识的是:1个Byte字节等于8个bit位。bit是最小一级的信息单位,可以表示一个0或1(即二进制);字符字符其实是一个统称,字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号都属于字符..

openHalo:国产数据库Halo正式开源,迈向高性能兼容新时代

近日,国产数据库Halo迎来重要里程碑,正式宣布开源,项目命名为 openHalo,并已在GitHub上线(openHaloHitHub地址:https://github.com/HaloTech-Co-Ltd/openHalo)。openHalo旨在提供一个兼容MySQL协议、基于Postg..

PGlite:轻量级嵌入式PostgreSQL数据库使用方法

PGlite是一款基于PostgreSQL的轻量级嵌入式数据库,专为前端应用、无服务器环境和本地开发优化。与传统的PostgreSQL服务器相比,PGlite无需单独安装数据库服务,而是可以直接在应用程序内部运行,提供了一种更加灵活..

服务器安装数据库MySQL8.0版本,打包导入到MySQL5.6失败的结局方式

最近数据库升级为mysql8.0,在使用过程中发现一些问题,首先mysql8.0有很多新特性,对服务器配置要求较高,所有就考虑把数据库版本切换到MySQL5.6,经过多出测试处理发现在8.0数据库打包的数据导入到5.6总是报错,或..

在数据库中cms_content表content字段用SQL过滤替换掉包含photo.abc.tw所有图片img标签

SQL 语句:UPDATEcms_contentSETcontent=REGEXP_REPLACE(content,'<img[^>]*src="photo\\.abc\\.tw[^"]*"[^>]*>','')WHEREcontentREGEXP'<img[^>]*src="//photo\\.abc\\.tw';解释:REGEXP_R..

数据库SQL优化大总结之 百万级数据库优化方案

1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from..

如何设计功能测试用例

最近招聘面试测试工程师,发现很多测试工程师都是半路出家,对一些基本的测试概念,思路与技术没有认知。在设计测试用例的时候只是基于直觉与经验去测试。这就导致测试用例的设计既不全面,也不科学。一般功能测试指..

2025年常见SQLServer数据库面试题

分享一些 2025年常见的 SQL Server 数据库面试题,涵盖基础知识、性能优化、高级查询、管理与运维等多个方面,适用于开发、DBA 及数据分析相关岗位的面试。1. SQL Server 的基本架构是什么?答案:SQL Server 的架构..

使用 html2canvas 实现截图功能

html2canvas 是一个开源的 JavaScript 库,用于将网页上的 HTML 元素渲染成图像。它通过遍历页面的 DOM 树和计算样式,然后将其绘制到 <canvas> 元素上,最终生成图片。该库不依赖服务器端,而是通过浏览器端的 Java..

EntityFramework(EF) 控制并发和事务防止超卖

在使用 Entity Framework (EF) 时,实现加减库存并避免超卖的关键是正确地控制并发和事务。以下是实现方法:解决超卖的关键点事务管理:使用事务确保加减库存和库存校验是一个原子操作。悲观锁:通过数据库层面的锁..

C#使用 Attribute 实现 AOP 功能

在 C# 中,通过自定义 Attribute 并结合一些技术(如动态代理、反射等)可以实现 AOP(面向切面编程)。AOP 通常用于日志记录、性能监控、权限验证等横切关注点。以下是一个使用 C# Attribute 实现 AOP 功能的示例。..

ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构

在 ASP.NET 中,使用 Entity Framework (EF) 创建并连接 SQLite 数据库是一种轻量级、高效的数据库管理方式。以下是详细步骤:安装必要的 NuGet 包安装EntityFrameworkCore.Sqlite包:Install-Package Microsoft.Ent..

SQLite性能支持多少数据量?

SQLite是一种轻量级的关系型数据库管理系统,广泛应用于移动应用、嵌入式系统和小型桌面应用程序中。由于其零配置、自给自足的特性,SQLite在很多场景下非常受欢迎。然而,对于许多开发者来说,一个常见的问题是:SQ..

.NET 9 中System.Text.Json 的新增功能

在 .NET 9 中,System.Text.Json 进行了多个重要的更新和增强,进一步提升了 JSON 处理的性能、灵活性和易用性。以下是 .NET 9 中 System.Text.Json 的一些主要新增功能:1. 类型转换器 (Type Converters) 支持.NET ..

使用ADO.NET连接到南大通用GBase 8s数据库

南大通用GBase 8s数据库广泛应用于各种企业级应用中,对于开发者而言,掌握如何使用ADO.NET连接到GBase 8s数据库非常重要。本文将详细阐述如何通过ADO.NET方式连接到南大通用GBase 8s数据库,并进行基本的数据库操作..

MySQL 5.x和MySQL 8.x数据库的区别

MySQL 是开源关系型数据库的代表,广泛应用于不同规模的 Web 和企业应用中。从 MySQL 5.x 到 MySQL 8.x 的升级带来了大量功能改进和性能提升。为了帮助大家更直观地理解两者的区别,本文将通过详细介绍并结合实际的 ..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

数据库SQL Server2014和SQL Server2019的区别和如何选择?

SQL Server 2014和SQL Server 2019是微软公司发布的两个版本的数据库管理系统,它们在性能、安全性以及可扩展性等方面各有特点。在选择这两个数据库版本时,需要根据系统需求、预算状况以及技术团队的熟悉程度等因素..

MySQL如何建数据库

MySQL是一款非常流行的关系型数据库管理系统。无论是在企业还是个人项目中,都经常使用MySQL数据库。在使用MySQL之前,需要先创建一个数据库。本文将介绍如何建立MySQL数据库。一、安装MySQL在开始建立MySQL数据库之..

发表回复

返回顶部

微信分享

微信分享二维码

扫描二维码分享到微信或朋友圈

链接已复制
星辰影视-2025热门免费影视短剧平台熊猫影视-2025热门免费影视短剧平台番茄影视-2025热门免费影视短剧平台星光电影-2025热门免费影视短剧平台蜂鸟影院-2025热门免费影视短剧平台熊猫影视 - 全网高清免费影片聚合平台萝卜影院-2025热门电影电视剧免费在线播放-全站无广告高速播放下载樱花影院-2025热门免费影视短剧平台琪琪影视-2025热门免费影视短剧平台火影电影网-2025热门免费影视短剧平台悟空电影-2025热门免费影视短剧平台西瓜影院-2025热门免费影视短剧平台星空电影网-2025热门免费影视短剧平台好看电影网-2025热门免费影视短剧平台无忧影视网_高清影视在线观看分享平台_最新最全的免费影视短剧大全年钻网超清视界 - 全网高清免费短剧聚合平台极影公社-2025热门电影电视剧免费在线播放至尊影院-最新热门短剧免费电影网站_高清影视无弹窗极速播放星光电影-2025热门免费影视短剧平台河马影视-最新热门火爆的免费影视网站_高清影视夸克迅雷网盘下载叮当影视网-2025热门高清免费影视短剧分享平台70影视网 - 最新电影、电视剧、短剧、免费在线观看麻花影视网 - 高清免费聚合电影网西瓜影院-最新热门电影电视剧免费在线播放开心追剧网2048影视资源论坛-2048P.Com青青影视网-2025热门高清免费影视短剧分享平台八哥电影网_最新vip电影大全_热播电视剧_全网优质影视免费在线观看_老牌的免费在线影院_www.886958.com人人看电影-热播电视剧_2025年最新电影_人人影院高清在线免费观看天天影视网-高清免费电影、电视剧、短剧在线观看星辰影视-最新热门无广告的免费电影网站_高清影视无弹窗极速播放电影天堂爱看影院追剧达人U系列网盘资源橙子影视网天堂影视网天堂影视神马影院网大众影视网星辰影视网