同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

JAVA凤凰框架 已经有新版本并带有演示代码,请下载新版本.快速开发框架,继承struts spring hibernate 特点,适合各种网站开发,应用服务开发。 立即下载

什么是分布式缓存?

分布式缓存能够处理大量的动态数据,因此比较适合应用在Web 2.0时代中的社交网站等需要由用户生成内容的场景。从本地缓存扩展到分布式缓存后,关注重点从CPU、内存、缓存之间的数据传输速度差异也扩展到了业务系统、数据库、分布式缓存之间的数据传输速度差异。

今天给大家分享的是一本从大型互联网大厂系统角度探讨分布式系统的手册,从原理、框架、架构、案例等多个视角对分布式缓存进行了探讨。

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

如需要本书PDF以及原件的话麻烦【点击此处即可免费领取】

全书分为三个部分从理论到实现再到实践的思路总览了全书的知识点,让读者有更好的理解,话不多说直接展示目录:

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

目录内容已经给大家展示完了,需要获取的小伙伴可以直接转发+关注后私信(学习)免费获取这份分布式手册!

内容展示:

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载

剩下的内容就不给大家展示了,需要获取的小伙伴可以一键三连+点赞后☛☛【点击此处即可免费领取】 即可免费获取到!

为YOLOv11引入加权双向特征金字塔(BiFPN) 本文介绍了将BiFPN应用于YOLOv11模型以提升边缘设备上小目标检测精度的实践。针对传统FPN在特征融合时的信息丢失问题,采用带可学习权重的BiFPN结构进行改造,实现了不同层级特征的动态融合。重点阐述了WeightedFeatureFusion模块的实现细节、neck结构改造方法及训练部署注意事项。实验表明,该改进使小目标AP提升3.1%,参数量仅增加5%,在精度和效率间取得良好平衡。文章还分享了权重初始化、归一化处理等实用技巧,并强调需根据数据特性评估改进效果,重新计算anchor等关键点。 阅读详情

相关推荐

窥秘Windows 10:SAM密码破解

Windows 10作为广受欢迎的操作系统,拥有一套强大的安全措施来保护用户账号和数据安全。然而,有时候我们需要了解更多关于密码破解的知识,以加强我们的防护措施。本文将深入探讨如何突破Windows 10的SAM密码,以便更好地了解密码安全性并加强系统的保护。

Sgirll的博客 6841

【凤凰架构】凤凰架构演示项目地址

【代码】【凤凰架构】凤凰架构演示项目地址。

qq_22744093的博客 345

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

m0_74164458的博客 4000

惨遭 GitHub 直接封杀的阿里 P8 手敲出来这份 565 页凤凰架构分布式手册,有何神奇之处

我个人认为,如果你想靠着背面试题来获得心仪的offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。

m0_60707538的博客 1021

微机原理与接口技术第六版周荷琴课后习题答案及解析(期末重点)

第二章 1.8086/8088CPU可直接寻址多少个内存(字节)单元?多少个I/O端口?它们的外部数据总线各有多少根? 8086/8088CPU使用的是20位地址总线,因此可以直接寻址2的20次方个内存单元(即1,048,576),每个单元大小为1字节,因此可以直接寻址2的20次方个字节的内存。 8086/8088CPU有64K个I/O端口,每个端口占用1字节的地址空间,因此可以直接寻址6...

Wmicheng的博客 1万+

手把手教你用ET-BERT预训练模型搞定加密流量分类(附完整代码)

本文详细介绍了如何使用ET-BERT预训练模型实现加密流量分类,包括环境配置、数据预处理、模型微调及优化策略。通过实战代码示例,帮助开发者快速掌握这一技术,提升网络安全领域的加密流量分析能力。

weixin_29166013的博客 493

GitHub 95k star!阿里竟开源最新版凤凰架构分布式笔记,太牛了

用“凤凰”这个词来诠释分布式架构,让人不禁联想到每一种架构都是一只浴火重生的凤凰,仔细想来,确实如此。从小型系统迭代到大型系统,从单体走向分布式,每一个成功的系统都会经历一次次“涅槃重生”,从失败中站起来,从故障里爬出来,从经验中成长起来。本书从“架构演进”出发,以“架构师视角”展开,详细讲述了分布式架构的原理、基础设施、设计理念等,是一本很好的可以让架构“浴火重生”的经验宝典。——王晓波 同程旅行机票事业群CTO文中的资料已整理打包存放网盘,有需要完整版PDF的朋友可以点击下方的名片自取!

m0_73311735的博客 326

海康威视GigE工业相机的python调用demo

默认路径安装完成后,在路径C:\Program Files (x86)\MVS\Development\Samples\Python\BasicDemo下的BasicDemo.py中,海康威视官方提供了基本的调用方法,本文也是基于这个修改的。BasicDemo.py提供了通过枚举选择相机的方法,在官方的另一个DEMO:ConnectSpecCamera.py中提供了另一种不通过枚举,直接访问特定IP相机的方法,也可以参考。另外,如果每台相机都定义了唯一的用户定义名,也可以通过用户定义名来区分相机。

xulibo5828的博客 2108

凤凰架构篇

凤凰架构

qq_54158095的博客 1174

JAVA:Spring Boot3 集成 ShardingSphere 实现数据分库分表

本文介绍了基于Spring Boot和ShardingSphere-JDBC实现分库分表与读写分离的解决方案。针对高并发、大数据量场景下单库单表的性能瓶颈,通过配置ShardingSphere-JDBC实现:1)订单表按user_id和order_id分片到两个库和两张表;2)读写分离,写操作路由至主库,读操作在从库间负载均衡。方案使用Druid连接池优化,支持业务透明,无需修改SQL。

木头 660

下载igv报错:Error loading genome hg38raw.githubusercontent.com...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 988

GitHub 95k star!字节大牛力荐大型分布式手册,凤凰架构让你浴火成神

时下讨论最热门的应该就是分布式系统架构了,现在各大公司无论是大公司还是小公司都会提及使用分布式系统架构来构建xxx系统,还有PasS平台这些概念的出现,可以说分布式系统架构是现在最热门的技术话题了。分布式系统架构就是将单体应用拆分成多个子系统,每个子系统运行在各自的进程中,子系统间相互通讯,从而使整个系统运转起来,这个就是分布式系统架构。由此可见,在我们java学习之路上,了解和掌握分布式架构是很重要的,现在我们怎么去掌握分布式系统呢?

m0_73311735的博客 241

基于Python的CT骨料图像分割与STL批量导出完整指南

本文介绍了一套完整的Python解决方案,用于CT骨料图像的分割与STL导出。针对CT图像中颗粒粘连、噪声伪影等技术难点,提出基于分水岭算法的分割策略,结合距离变换与标记控制实现颗粒分离。内容包括环境配置、数据读取与预处理、Otsu阈值分割、分水岭算法实现、表面提取与STL导出等关键步骤。教程提供详细代码及解释,帮助读者从CT体数据出发,最终生成每个颗粒的三维网格文件,便于后续定量分析和数值模拟。

huanghm88的专栏 235

同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载(1)

其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。Kafka入门为什么选择KafkaKafka的安装、管理和配置。

2301_76348344的博客 481

VB摄像头监控

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

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

arduinoWebSockets高级应用:实现OTA固件升级和远程设备控制

arduinoWebSockets是一款强大的开源库,专为Arduino平台设计,支持WebSocket协议,可轻松实现设备与服务器的双向通信。本文将详细介绍如何利用arduinoWebSockets实现OTA固件升级和远程设备控制这两个高级应用,帮助开发者打造更智能、更易维护的物联网设备。 ## 一、什么是OTA固件升级? OTA(Over-The-Air)固件升级是一种通过无线网络为设备更

gitblog_00368的博客 534

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

阿里P8手敲出来这份565页凤凰架构分布式手册,遭GitHub直接封杀

从大型机到单体架构,从微服务架构到无服务架构,每一次架构模式的演进都是一次涅槃。每一个软件系统都是由大量服务构成的生态体系,个体服务的“死亡”和“重生”是整个系统能否持续可靠运行的关键因素。本书从5个方面全面剖析了如何构建一个可靠的分布式系统,同时给出了。五种架构风格的样例工程。

Trouvailless的博客 202

GitHub 95k star,阿里竟开源最新版凤凰架构分布式笔记,太牛了

时下讨论最热门的应该就是分布式系统架构了,现在各大公司无论是大公司还是小公司都会提及使用分布式系统架构来构建xxx系统,还有PasS平台这些概念的出现,可以说分布式系统架构是现在最热门的技术话题了。分布式系统架构就是将单体应用拆分成多个子系统,每个子系统运行在各自的进程中,子系统间相互通讯,从而使整个系统运转起来,这个就是分布式系统架构。由此可见,在我们java学习之路上,了解和掌握分布式架构是很重要的,现在我们怎么去掌握分布式系统呢?小编是一向个好人,网络上是好人,现实中也是好人,今天呢,就给大家带来这一

m0_73311735的博客 303

GitHub 上很火的 7 个项目--架构思想精华

本文盘点了最近比较火的几个开源项目,涉及 Java、Python、C++ 等,这些开源项目分别是: 1. Java权限认证框架 2. 凤凰架构[非常推荐值得学习] 3. XMind 版 CS 基础知识笔记 4. 微信插件 5. 50 个小项目 6. 高仿 Netflix 7. 文件传输助手 01.Java权限认证框架 号称史上功能最全的 Java 权限认证框架:Sa - Token,这个框架主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题.

qq_43338943的博客 1272

同程旅游缓存系统(凤凰)打造Redis时代的完美平台实践

声明:本文来自《程序员》2017年2月期,未经授权禁止转载。 作者:王晓波,同程旅游首席架构师。专注于高并发互联网架构设计、分布式电子商务交易平台设计、大数据分析平台设计、高可用性系统设计,基础云相关技术研究,对 Docker 等容器有深入的实践。另对系统运维和信息安全领域也大量的技术实践。曾设计过多个并发百万以上、每分钟 20 万以上订单量的电商交易平台,熟悉 B2C、B2B、B2B...

博客 1573

同程凤凰缓存系统基于Redis的设计与实践

本文摘自《深入分布式缓存》。本章和大家分享一下同程凤凰缓存系统在基于Redis方面的设计与实践。在本章中除了会列举我们工作过程中遇到各种问题和误区外,还会给出我们相应的解决办法,希望能够抛砖引玉为大家带来一定的启示。15.1 同程凤凰缓存系统要解决什么问题2012~2014年,我们的业务开始使用一种新的互联网销售模式——秒杀抢购,一时间,各个产品线开始纷纷加入进来,今天秒杀门票,明天秒杀酒店,等等

开涛的博客 2538
上一篇: 阿里爸爸YYDS!阿里内网首发的Java成长开发手册,不惜重金开源
下一篇: 大厂炸锅了!这份全程无尿点的Java彩版面试开挂攻略在GitHub火了
普通网友
博客等级 码龄5年 3419粉丝 477原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值