InnoDB存储引擎——Checkpoint技术

【论文阅读】LIME:Low-light Image Enhancement via Illumination Map Estimation(笔记最全篇) 文章目录AbstractIntroductionContributionMethodSpeed-up Method(1):ALM子问题 T子问题 G子问题 Z和μ\muμSpeed-up Method(2):权重变量实验conclusion 今天要整理的一篇论文是使用传统的方法解决低照度的问题,Guo等人于2016年发表在IEEE上,论文《LIME:Low-light Image Enhance... 阅读详情

为什么需要Checkpoint技术

InnoDB存储引擎中的缓存池的目的是协调CPU速度和磁盘速度的差别。数据库对数据页的操作首先都是在缓冲池中完成的。如果一条DML语句,如update和delete改变了页中的记录,那么该页变为了脏页,也就是说缓冲池中的页的内容比磁盘中的页要新。数据库需要将新版本的页从缓冲池刷新到磁盘。

但是如果一个页每次发生了变化之后,就将新页的版本刷新到磁盘,那么这个开销是非常大的。如果在从缓冲池中将页的新版本刷新到磁盘时发生了宕机,那么数据就不能恢复了。为了避免发生数据丢失的问题,当前事务数据库系统普遍采用了Write Ahead Log策略,即当事务提交时,先写重做日志,再修改页。当由于发生宕机而导致数据丢失时,通过重做日志来完成数据的恢复。这也是事务ACID中的D(持久性)的要求。

如果重做日志可以无限地增大,同时缓冲池也足够大,能够缓冲所有数据库的数据,那么是不需要将缓冲池中页的新版本刷新回磁盘的。因为当发生宕机时,完全可以通过重做日志来恢复整个数据库系统中的数据。但是需要满足两个条件:重做日志可以无限地增大,同时缓冲池也足够大,也就是说内存足够大,磁盘足够大存放重做日志。
不过如果数据库的内容特别大的话,如果通过重做日志来恢复的话可能需要很长时间。

Checkpoint技术

Checkpoint技术的目的是解决以下几个问题:
1)缩短数据库的恢复时间;
2)缓冲池不够用时,将脏页刷新到磁盘;
3)重做日志不可用时,刷新脏页;
当数据库发生宕机时,数据库不需要重做所有的日志,因为Checkpoint之前的页都已经刷新回磁盘了。所以,数据库只需要对Checkpoint后的重做日志进行恢复。这样就缩短了恢复的时间。

当缓冲池不够用时,根据LRU算法会溢出最近最少使用的页,若此页为脏页,那么需要强制执行Checkpoint,将脏页也就是页的新版本刷回磁盘。

重做日志是可以循环使用的,重做日志可以被重用的部分是指这些重做日志已经不需要了,也就是说,即使数据库宕机了,数据库恢复操作不需要这部分的重做日志,所以这部分日志可以被覆盖重复使用。
如果重做日志没有可以被重复使用的并且重做日志已经满了,那么必须强制产生Checkpoint,将缓冲池中的页至少刷新到当前重做日志的位置。

对于InnoDB存储引擎,是通过LSN(Log Sequence Number)来标记版本的。而LSN是8字节的数字,其单位是字节。每个页有LSN,重做日志也有LSN,Checkpoint也有LSN。

mysql> show engine innodb status\G

下面是部分输出:

---
LOG
---
Log sequence number 2448358
Log flushed up to   2448358
Last checkpoint at  2448358
0 pending log writes, 0 pending chkp writes
8 log i/o's done, 0.00 log i/o's/second

Checkpoint所做的事情就是将缓冲池中的脏页刷回到磁盘。比较关心的问题是每次刷新多少页到磁盘,每次从哪里取脏页,以及什么时间触发Checkpoint。

  • 在InnoDB存储引擎内部,有两种Checkpoint,分别为:

1)Sharp Checkpoint
2)Fuzzy Checkpoint

Sharp Checkpoint发生在数据库关闭时将所有的脏页都刷新回磁盘,这时默认的工作方式,即参数innodb_fast_shutdown=1;

mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1     |
+----------------------+-------+
1 row in set (0.00 sec)

但是,如果数据库在运行的时候也使用Sharp Checkpoint,那么数据库的可用性就会受到很大的影响。所以,在InnoDB存储引擎内部使用Fuzzy Checkpoint进行页的刷新,即只刷新一部分脏页,而不是刷新所有的脏页到磁盘。

  • 下面是几种发生Fuzzy Checkpoint的情况:

1)Mater Thread Checkpoint
2)FLUSH_LRU_LIST Checkpoint
3)Async/Sync Flush Checkpoint
4)Dirty Page too much Checkpoint

  • Mater Thread Checkpoint

对于Mater Thread 中发生的Checkpoint,差不多以每秒或每十秒的速度从缓冲池的脏页列表中刷新一定比例的页回磁盘。这个过程是异步的,即此时InnoDB存储引擎可以进行其它的操作,用户查询线程不会阻塞。

  • FLUSH_LRU_LIST Checkpoint

FLUSH_LRU_LIST Checkpoint是因为InnoDB存储引擎需要保证LRU列表中需要有差不多100个空闲页可供使用。在InnoDB1.1.X版本之前,需要检查LRU列表中是否有足够的可用空间操作发生在用户查询线程中,显然这会阻塞用户的查询操作。倘若没有100个可用空闲页,那么InnoDB存储引擎会将LRU列表尾部的页移除。如果这些页中有脏页,那么需要进行Checkpoint,而这些页来自LRU列表,因为称为FLUSH_LRU_LIST Checkpoint。
从MySql5.6版本,也就是InnoDB1.2.x版本开始,这个检查被放在了一个单独的Page Cleaner线程中进行,并且用户可以通过参数innodb_lru_scan_depth控制LRU列表中可用页的数量,该值默认是1024;

mysql> show variables like 'innodb_lru_scan_depth';

该参数是MySql5.6版本开始新加入的,所以如果版本太低的话是查不到该参数的:

mysql> show variables like 'version';
+---------------+-------------------------+
| Variable_name | Value                   |
+---------------+-------------------------+
| version       | 5.5.49-0ubuntu0.14.04.1 |
+---------------+-------------------------+
1 row in set (0.00 sec)

mysql> show variables like 'innodb_lru_scan_depth';
Empty set (0.00 sec)
  • Async/Sync Flush Checkpoint

Async/Sync Flush Checkpoint指的是重做日志文件不可用的情况,这时需要强制将一些页刷新到磁盘,而此时脏页是从脏页列表中选取的。若将已经写入到重做日志的LSN记为redo_lsn,将已经刷新回磁盘最新页的LSN记为checkpoint_lsn,则可以定义:
checkpoint_age = redo_lsn - checkpoint_lsn
再定义以下变量:
async_water_mark = 75%*total_redo_log_file_size
sync_water_mark = 90% * total_redo_log_file_size
那么async_water_mark=1.5GB,sync_water_mark=1.8GB。则:
1)当checkpoint_age < async_water_mark时,不需要刷新任何脏页到磁盘;
2)当async_water_mark < checkpoint_age < sync_water_mark时触发Async Flush,从Flush列表中刷新足够的脏页回磁盘,使得刷新后满足checkpoint_age < async_water_mark;
3)checkpoint_age > sync_water_mark,这种情况一般很少发生,除非设置的重做日志文件太小,并且在进行类似LOAD DATA的BLUK INSERT操作。此时触发Sync Flush操作,从Flush列表中刷新足够的脏页回磁盘,使得刷新后满足checkpoint_age < async_water_mark;

可以看出Async/Sync Flush Checkpoint是为了保证重做日志的循环使用的可用性。在InnoDB1.2.x版本之前,Async Flush Checkpoint会阻塞发现问题的用户查询线程,而Sync Flush Checkpoint会阻塞所有的用户查询线程,并且等待脏页刷新完成。从InnoDB1.2.x版本开始,也就是MySql5.6版本,这部分的刷新操作同样放入到了单独的Page Cleaner Thread中,所以刽阻塞用户查询线程。

  • Dirty Page too much Checkpoint

Dirty Page too much Checkpoint的情况是因为脏页的数量太多了,导致InnoDB存储引擎强制进行Checkpoint,其目的是为了保证缓冲池中有足够可用的页。其可由参数innodb_max_dirty_pages_pct控制:

mysql> show variables like 'innodb_max_dirty_pages_pct';
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| innodb_max_dirty_pages_pct | 75    |
+----------------------------+-------+
1 row in set (0.00 sec)

innodb_max_dirty_pages_pct值为75,表示当缓冲池中脏页的数量占据75%时,强制进行Checkpoint,刷新一部分的脏页到磁盘。

WPF 上位机可视化天花板:HandyControl 搭建 SCADA 系统 HandyControl 凭借「丰富的工业级控件、灵活的主题定制、优异的性能」,成为 WPF 开发 SCADA 系统的首选 UI 库。本文搭建的 SCADA 系统涵盖实时监控、设备控制、报警管理、趋势分析四大核心功能,通过 HandyControl 实现了工业级可视化效果,开发效率提升 60% 以上。控件开箱即用:无需自定义仪表盘、趋势图、指示灯等 SCADA 核心控件;可视化效果专业:工业风主题、动态颜色切换、清晰的状态呈现,契合工业场景需求; 阅读详情

相关推荐

FC游戏金手指代码大全:亲测可用指南与内存修改原理

在计算机和游戏开发领域,内存修改是一项基础而强大的技术,它通过直接读写程序运行时内存中的数据,改变软件的行为和状态。其核心原理在于理解进程的内存地址空间布局,定位存储关键游戏变量(如生命值、金币数)的特定地址,并注入或锁定目标数值。这项技术的工程价值在于,它不仅能用于游戏辅助,更是软件逆向工程、漏洞分析和调试的重要实践手段。在怀旧游戏和模拟器场景中,内存修改以“金手指”或“作弊码”的形式广泛应用,帮助玩家自定义游戏体验。本文将聚焦FC(红白机)游戏,深入解析Game Genie码和Raw码两种主流金手指格式

weixin_30780649的博客 810

MySQL技术:InnoDB存储引擎关键特性之checkpoint

一、日常关注的问题 1、我们的日志生成速度?   1、每天生成多少日志、产生多少redo log mysql> show global status like 'Innodb_os_log_written'; +-----------------------+--------+ | Variable_name | Value | +-----------------------+--------+ | Innodb_os_log_written | 107008 | +-

每天叫醒自己的不是闹铃 是娟 是梦 是理想。 1287

差分运放电路输出电压偏置设计解析

差分运算放大电路是信号处理中的基础模块,通过差分对管结构实现共模抑制与差模放大。其核心原理基于运放的虚短虚断特性,当电阻网络满足对称条件时,输出电压与输入差分成正比。在工业测量系统中,由于ADC通常仅支持正电压输入,需要通过偏置电路将双极性信号平移至正电压范围。典型设计采用精密基准电压源和匹配电阻网络,既保持信号完整性又满足系统接口要求。本文以-100V高压测量为例,详细解析了分压网络设计、参考电压选取以及电阻匹配等关键技术要点,为传感器接口电路设计提供实践参考。

weixin_35750747的博客 470

【Msql阅读笔记】| 四、InnoDB存储引擎之Checkpoint技术

一、为什么需要Checkpoint技术 1、数据新页每次当页发生变化,就将新页的版本刷新到磁盘,那么这个开销是非常大的。 2、从缓冲池中将页的新版本刷新到磁盘时发生了宕机,那么数据就不能恢复。 3、为了避免数据丢失问题、数据库事务采用了Write Ahead Log策略,宕事务提交时,先写重做日志,再修改页。 4、数据发生丢失时可以通过重做日志完成数据的恢复 ==> 事务ACID 中的D(Durability持久性)的要求 二、Checkpoint技术可以解决的痛点 1、缩短数据库的恢复时间 2、缓冲

promiseful的博客 234

HFSS求解器背后的数学原理:从麦克斯韦方程到S参数计算

本文深入解析了Ansys HFSS求解器的数学原理,从麦克斯韦方程出发,详细介绍了模式驱动求解(Driven Solution)和本征模求解(Eigenmode)等核心算法。通过有限元方法和模式匹配技术,HFSS将电磁场问题转化为矩阵方程求解,实现S参数计算和场分布分析,为工程师提供精确的电磁仿真工具。

weixin_28314575的博客 467

PCL读取点云数据报错:Failed to find match for field ‘x‘/ ‘y‘/ ‘z‘.

原因:使用matlab生成的pcd文件,点云数据是双精度类型,pcl处理的点云数据是单精度类型。解决方案:使用matlab生成的点云坐标单精度化,然后在生成点云加以存储。

little_white138的博客 871

MySQL之深入InnoDB存储引擎——Checkpoint机制

它从 last Checkpoint 对应的 LSN 开始扫描 redo-log 日志,并将其应用到 buffer-pool 中,直到 last Checkpoint 对应的 LSN 等于 log flushed up to 对应的 LSN (也就是 redo-log 磁盘上存储的 LSN 值),则恢复完成。由于页的操作首先都是在缓冲池中完成的,那么如果一条DML语句改变了页中的记录,那么此时页就是脏的,即缓冲池中页的版本要比磁盘的新。那么数据库需要将新版本的页刷新到磁盘。所以 InnoDB 存储引擎。

qq_25046827的博客 1709

最新打赏系统打赏源码麒麟最新打赏源码喜盈门打赏知识付费课程教程直播讲解

打赏源码打赏系统

qq_41095398的博客 2042

2.2 InnoDB存储引擎之Checkpoint 技术

2.4 Checkpoint 技术 前面已经讲到了,缓冲池的设计目的为了协调 CPU速度与磁盘速度的鸿沟。因此页的操作首先都是在缓冲池中完成的。如果一条 DML 语句,如 Update 或 Delete 改变了页中的记录,那么此时页是脏的, 即缓冲池中的页的版本要比磁盘的新。数据库需要将新版本的页从缓冲池刷新到磁盘。 倘若每次一个页发生变化,就将新页的版本刷新到磁盘,那么这个开销是非常大的。若热点数据集中在某几个页中,那么数据库的性能将变得非常差。同时,如果在从缓冲池将页的新版本刷新到磁盘时发生了宕机,那

lxsxkf的博客 253

<IBM AIX> 《HACMP 实用手册和命令 HA切换手册》 - 鸿篇巨制,全网最全

操作命令检查磁盘预留策略要将磁盘预留策略更改为 no_reserve集群状态实用程序查看集群状态是否正常SMIT System Management (C-SPOC)Cluster ServicesShow Cluster Services 面板上的选项或 lssrc 命令查看资源组、资源组对应的VG、资源组对应的APPLICATION SERVER# ./cldispsmit常用命令F3退出F4列表Esc+6或者F6查看命令Esc+7或者F7选择多项检查状态。

Else 的博客 3365

如何在 SAP BTP 上使用 Integration Suite 消费 S/4HANA Cloud API

SAP Integration Suite是一个集成平台即服务(iPaaS),允许开发人员顺利地将内部部署和基于云的应用程序和流程与SAP管理的工具和预构建内容进行集成。登录 SAP Business Technology Platform Cockpit,进入 integration suite:再点击 API management 进入 API Portal:或者直接从收藏夹里打开链接:https://304a49cetrial.integrationsuitetrial-apiportal.cfapp

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1699

针对 MySQL/InnoDB 刷盘调优

原文 https://www.percona.com/blog/2020/05/14/tuning-mysql-innodb-flushing-for-a-write-intensive-workload/前言这篇文章是讲述 InnoDB 刷盘策略系列文章的第三篇。本文主要讲述 性能调优。另外2篇文章参考https://www.percona.com/blog/2020/...

杨建荣的学习笔记 1114

ESP32学习笔记06-UART 的485 通讯模式

通信方式选择UART 控制器支持多种通信模式,使用函数 uart_set_mode() 可以选择模式。选择特定模式后,UART 驱动程序将处理已连接 UART 设备的相应行为。例如,主机开始向 Tx FIFO 缓冲区写入数据时,UART 驱动程序会自动置位 RTS 管脚(逻辑 1);最后一位数据传输完成后,驱动程序就会取消置位 RTS 管脚(逻辑 0)。要使用此模式,软件。

Car12 2476

MySQL InnoDB存储引擎详细介绍之CheckPoint技术

本文系统介绍了InnoDB存储引擎中的CheckPoint技术。作为缓冲池与磁盘数据同步的关键机制,CheckPoint通过LSN标记和多种触发条件(如定时刷新、脏页比例、日志空间等)实现脏页有序刷盘。其核心价值在于显著缩短数据库恢复时间、平衡I/O负载并确保重做日志循环使用。文章详细解析了Sharp和Fuzzy两种CheckPoint类型的工作机制,以及与Redo log的协同关系,同时探讨了相关性能参数配置及对系统性能的影响。

学不可以已,活到老,学到老。 1042

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

MySQL:InnoDB 存储引擎(Checkpoint 技术)

asdsInnoDB 是事务安全的MySQL 存储引擎,设计上采用了类似于Oracle 数据库的架构。通常来说, InnoDB 存储引擎是OLTP应用中核心表的首选存储引擎。同时,也正是因为InnoDB 的存在,才使MySQL 数据库变得更有魅力。本章将详细介绍InnoDB 存储引擎的体系架构及其不同于其他存储引擎的特性。 asdsadasdasdasdsadasdasdasdsadassdasdsadasdasdsadasdsadassadasdas————《MySQL技术内幕INNODB存储引擎》 .

置身于量子事业的软件开发爱好者 348

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

innodb存储引擎-checkpoint技术

Checkpoint(检查点)技术的目的是解决以下几个问题: 缩短数据库的恢复时间; 缓冲池不够用时,将脏页刷新到磁盘; 重做日志不可用时,刷新脏页。

hello188988的专栏 625

InnoDB存储引擎 Checkpoint技术

缓冲池的设计是为了协调CPU速度和磁盘速度不一致,对于页的操作首先都会在缓冲池中进行。当我们执行update操作时,改变了页中的记录,那此时的页就是脏页,即缓冲池中的页的数据比磁盘的新。数据库需要把新数据刷新到磁盘,以满足数据一致性。 如果是一个页发生变化,就把新数据刷回磁盘,这个开销是非常大的。而且如果在将数据刷新到磁盘的过程中发生了宕机,那么数据就不能恢复了。 为了避免数据丢失,事务数据库...

J_Shine的博客 730

Mysql InnoDB存储引擎中的checkpoint技术

InnoDB存储引擎中的CheckPoint技术。 目的: Mysql宕机重启后,数据恢复的效率 保证Buffer Pool的可用性 保证重做日志文件的可用性 CheckPoint可以分为两种,第一种当数据库关闭时执行CheckPoint,第二种是刷新一部分的脏页。InnoDB存储引擎选择的是第二种。 InnoDB存储引擎有一下四种情况会进行CheckPoint: 以一定频率 秒为单位进行CheckPoint 当LRU列表中空闲的页不足100个时会进行CheckPoint 保证redoLog文件的可用

qq_44027353的博客 617

checkpoint技术mysql_《MySQL技术内幕:InnoDB存储引擎第2版》——2.4 Checkpoint技术-阿里云开发者社区...

2.4 Checkpoint技术前面已经讲到了,缓冲池的设计目的为了协调CPU速度与磁盘速度的鸿沟。因此页的操作首先都是在缓冲池中完成的。如果一条DML语句,如Update或Delete改变了页中的记录,那么此时页是脏的,即缓冲池中的页的版本要比磁盘的新。数据库需要将新版本的页从缓冲池刷新到磁盘。倘若每次一个页发生变化,就将新页的版本刷新到磁盘,那么这个开销是非常大的。若热点数据集中在某几个页中,...

weixin_36319219的博客 133

MySQL技术内幕:InnoDB存储引擎之Checkpoint机制——详解

Checkpoint机制 最近在学习MySQL的底层,内容来自于Mysql技术内幕书籍和自己的理解,所以写了一个关于MySQL技术内幕专栏,有兴趣可以看看 1.CheckPoint出现的原因 之前的博客有讲到当执行DML操作时,如UPDATE,Delete改变了页中的记录,此时的页还没有刷新回磁盘,只是在缓冲池中被修改了。这样的页称为脏页。 CheckPoint所做的事情无非就是将缓冲池的脏页刷新回磁盘,但是他的触发机制和脏页的选择以及版本的记录都是很复杂的,这也是为了解决以下的问题。 1.1.1 原因

weixin_44844089的博客 707

InnoDB存储引擎读书笔记-Checkpoint技术

当数据库宕机时,需要使用重做日志恢复数据,而Checkpoint技术则大大缩短了通过重做日志恢复现场的开销。

zuimrs的博客 165

InnoDB(CheckPoint技术)(读MySQL技术内幕-InnoDB存储引擎)

Write Ahead Log策略(事务数据库系统):当事务条件时,先写重做日志,再修改页,(用日志恢复数据) Checkpoint(检查点)技术解决的问题: 缩短数据库恢复时间:数据库宕机时,不需要重做所有的日志,因为checkpoint之前的页已经刷到磁盘了 缓冲池不够用时,将脏页刷新到磁盘(给缓冲池腾空间):此时根据LRU算法会溢出最近最少使用的页(脏页),此时需强制执行Checkpoint,将脏页刷回磁盘 重做日志不可用时,刷新脏页(重做日志不可用,即不能保证数据的恢复了,就相当于每次操作都

杨宇java的博客 240

《MySQL技术内幕 InnoDB存储引擎》第二章 Checkpoint技术

Rush6666的博客 227

MySQL的checkpoint技术

checkpoint技术的核心就是把缓冲池中的脏页刷新到磁盘,保证交易数据的持久性。 当前事务型的数据库都采用了Write Ahead Log策略,也就是WAL,在事务提交时,先写重做日志,再修改页。 对于InnoDB存储引擎而言,是通过LSN(Log Sequence Number)来标记版本的。LSN是8字节的数字,单位是字节。每个页有LSN,重做日志也有LSN,checkpoint也有LSN。 InnoDB存储引擎的checkpoint有两种: 1、Sharp Checkpoingt ..

Uncle.Cui的技术博客 1967

InnoDB存储引擎学习总结

概述 InnoDB存储引擎是MySQL5.5以后的默认的表存储引擎,最早由Innobase Oy公司开发,该公司已于2006年被Oracle收购。该存储引擎是第一个完整支持ACID事务的MySQL存储引擎(BDB是第一个支持事务的MySQL存储引擎,现在已经停止开发)。其特点是支持行锁设计、支持MVVC(多并发版本控制)、支持外键、提供一致的非锁定读,同时被设计用来最有效地利用以及使用内存和CU...

qq_38348841的博客 1269

《MySQL技术内幕:InnoDB存储引擎第2版》——2.4 Checkpoint技术

2.4 Checkpoint技术 前面已经讲到了,缓冲池的设计目的为了协调CPU速度与磁盘速度的鸿沟。因此页的操作首先都是在缓冲池中完成的。如果一条DML语句,如Update或Delete改变了页中的记录,那么此时页是脏的,即缓冲池中的页的版本要比磁盘的新。数据库需要将新版本的页从缓冲池刷新到磁盘。倘若每次一个页发生变化,就将新页的版本刷新到磁盘,那么这...

weixin_34355881的博客 85

【数据库】MySQL InnoDB存储引擎详解 - 读书笔记

特性支持B-tree 索引是备份/点恢复(在服务器中实现,而不是在存储引擎中)是集群数据库支持否聚集索引是压缩数据是数据缓存是加密数据是(在服务器中通过加密函数实现;在 MySQL 5.7 及更高版本中,支持数据静止加密。外键支持是全文搜索索引是(从 MySQL 5.6 开始支持全文索引。地理空间数据类型支持是地理空间索引支持是(从 MySQL 5.7 开始支持地理空间索引。哈希索引否(InnoDB 内部使用哈希索引来实现其自适应哈希索引功能。索引缓存是。

FixPng的博客 2515
上一篇: InnoDB存储引擎——内存
下一篇: InnoDB存储引擎——Master Thread工作方式
readyao
博客等级 码龄11年 243粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值