java中Redisson ,jedis,Lettuce和Spring Data Redis的四种深度对比和优缺点详解

Java的Redis客户端,Jedis和Redisson客户端的使用详细说明;Jedis的基本使用;Redisson作为消息中间件​、​布隆过滤器​、限流器、分布式锁、分布式集合、分布式远程服务; jedis 是直连 redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个jedis实例增加物理连接 ; Redisson 实现了分布式 和 可扩展的Java数据结构,和 Jedis 相比,功能较为简单,不支持字符串操作,不支持排序、事务、管道、分区等Redis特性。Redisson 的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。 阅读详情

Redisson、Jedis、Lettuce 和 Spring Data Redis 都是 Java 中用于操作 Redis 的工具,以下是它们的深度对比及优缺点详解:

深度对比

  • 功能特性:Jedis 主要是将 Redis 命令封装为 Java 方法,功能较为基础。Lettuce 基于 Netty,支持异步、响应式编程,能很好地支持 Redis 哨兵、集群等。Redisson 提供了分布式锁、分布式队列等大量分布式系统相关的高级功能。Spring Data Redis 则是对底层客户端进行封装,提供统一 API,还支持 Spring Cache 等高级特性。
  • 线程安全性:Jedis 是线程不安全的,多线程环境下需使用连接池;Lettuce 是线程安全的,一个连接实例可在多线程环境中安全使用;Redisson 的分布式对象保证线程安全;Spring Data Redis 自身不涉及线程安全问题,其线程安全性取决于底层客户端。
  • 适用场景:Jedis 适用于简单的 Redis 缓存场景或小项目。Lettuce 适用于高并发、需要异步操作 Redis 的场景以及 Spring WebFlux 项目。Redisson 适用于需要分布式锁、分布式队列等复杂分布式功能的场景。Spring Data Redis 适用于 Spring/Spring Boot 项目,可简化 Redis 操作。

优缺点详解

  • Jedis
    • 优点:轻量级,API 与 Redis 命令贴合,学习成本低,使用简单直接,对于熟悉 Redis 命令的开发者极易上手,且稳定性较好。
    • 缺点:是阻塞式、直连模型,多线程环境下线程不安全,需搭配连接池使用;每次操作可能需新建 / 关闭 TCP 连接,连接资源开销高,极端情况下可能出现连接泄漏。
  • Lettuce
    • 优点:基于 Netty 的 NIO 模型,支持异步编程,高并发场景下性能出色;线程安全,无需额外配置连接池;对 Redis 哨兵、集群等模式支持良好。
    • 缺点:相对 Jedis 而言,其 API 复杂度稍高,对于简单场景,引入成本略高;如果项目不需要异步特性,使用 Lettuce 可能会增加不必要的复杂性。
  • Redisson
    • 优点:功能丰富,提供了一系列分布式工具,API 简洁,与 Java 原生并发包使用方式相似;基于 Netty 实现异步非阻塞 I/O,性能优秀;支持自动重连、故障转移等,可靠性高,且与 Spring 集成良好。
    • 缺点:依赖 Redis 稳定性,Redis 宕机时功能会失效;内部机制复杂,学习曲线略高;开启本地缓存时会占用 JVM 内存,内存占用相对较高;不同版本与 Redis 服务器可能存在兼容性问题,调试分布式功能时不如本地代码直观。
  • Spring Data Redis
    • 优点:与 Spring 框架深度集成,可通过依赖注入使用,能与 Spring 事务框架协同工作;提供统一 API,简化了 Redis 操作,还支持自定义序列化策略;可在 Jedis 和 Lettuce 等底层驱动间切换,无需修改业务代码。
    • 缺点:作为上层封装,需要依赖底层客户端才能工作,本身不具备连接 Redis 的能力;对于非 Spring 项目,使用起来较为繁琐,存在一定的局限性。

对比图

特性JedisLettuceRedissonSpring Data Redis
连接模型阻塞式 I/O非阻塞 I/O(Netty)非阻塞 I/O(Netty)依赖底层客户端,可配置阻塞或非阻塞
线程安全否,需连接池是是取决于底层客户端
连接池必要性必需通常无需高级功能可选可根据底层客户端配置
协议支持RESP2RESP2/RESP3RESP2支持常用协议,依赖底层客户端
主要功能基本 Redis 命令封装Redis 基本操作,支持哨兵、集群等分布式锁、分布式队列等分布式功能统一 API 操作 Redis,支持 Spring Cache 等
适用场景简单缓存场景、小项目高并发异步场景、Spring WebFlux 项目分布式系统场景Spring/Spring Boot 项目
性能表现200 并发时平均延迟 12.7ms,QPS 约 38000200 并发时平均延迟 3.2ms,QPS 约 72000200 并发时平均延迟 8.9ms,QPS 约 45000依赖底层客户端,配置合理时性能较好

优缺点图

客户端优点缺点
JedisAPI 接近 Redis 原生命令,轻量级,简单场景性能尚可阻塞 I/O 限制并发能力,非线程安全需连接池,高并发下连接资源消耗大
Lettuce单连接支持高并发,支持响应式编程,Spring Boot 默认集成,自动连接恢复阻塞命令需特殊处理,学习曲线较陡,依赖 Netty 体积较大
Redisson提供分布式对象,内置分布式锁等,故障转移机制完善,有中文文档包体积较大,过度封装灵活性降低,基础操作性能稍弱
Spring Data Redis与 Spring 框架深度集成,简化 Redis 操作,支持多种序列化策略,可切换底层客户端不具备连接 Redis 能力,依赖底层客户端,非 Spring 项目使用繁琐

当下 Java 项目中,Lettuce 和 Spring Data Redis 较为常用,具体原因如下:

  • Lettuce:Lettuce 是 Spring Boot 2.x 及以上版本默认集成的 Redis 客户端。它基于 Netty 实现,采用异步非阻塞 I/O 模型,具有出色的高并发处理能力,能有效提升响应速度,降低连接开销。而且它是线程安全的,无需额外复杂配置连接池,使用起来较为便捷。同时,Lettuce 对 Redis 的哨兵、集群等高级特性支持良好,还能无缝对接 Spring WebFlux 等响应式编程框架。因此,在现代 Java 项目,尤其是微服务架构和高并发场景中应用广泛。
  • Spring Data Redis:它是 Spring 对 Java Redis 客户端的统一封装,能屏蔽 Jedis、Lettuce 等底层客户端的差异,提供统一的操作 API,如 RedisTemplate 和 StringRedisTemplate,极大地简化了 Redis 的操作。由于 Spring 框架在 Java 企业级开发中应用极为广泛,Spring Data Redis 可以很好地与 Spring 的其他模块集成,如 Spring 事务管理、Spring Cache 等,方便在项目中实现缓存相关功能,提升开发效率,所以在 Spring/Spring Boot 项目中被大量使用。

此外,Jedis 在一些小型项目或对性能要求不高、追求简单快速开发的场景中仍有应用,因其 API 简洁,贴近 Redis 原生命令,容易上手。Redisson 则在需要分布式锁、分布式队列等复杂分布式功能的项目中具有不可替代的优势,例如电商系统中的库存扣减、订单创建等场景。

特点对比如下

工具简化特点总结
Jedis- 简单直观:API 与 Redis 命令高度相似,易于上手。 - 轻量基础:轻量级,适合基础 Redis 操作和小型项目。 - 线程非安全:需连接池实现多线程安全使用。
Lettuce- 异步高效:基于 Netty 实现异步非阻塞,高并发性能佳。 - 线程安全:可在多线程环境安全使用,无需额外连接池。 - 功能丰富:对 Redis 集群、哨兵支持良好,支持响应式编程。
Redisson- 分布式功能强大:提供分布式锁、队列等多种分布式工具。 - 易用性好:API 设计友好,类似 Java 原生并发包使用方式。 - 可靠性高:具备自动重连、故障转移等机制。
Spring Data Redis- Spring 集成度高:与 Spring 框架无缝集成,利用 Spring 特性。 - 操作简化:提供统一 API,简化 Redis 操作流程。 - 可切换底层:能在不同 Redis 客户端间切换,灵活性强。
Spring Boot Redis客户端选型:Jedis、Lettuce、RedisTemplate与Redisson深度解析 在分布式系统和高并发应用中,缓存是提升性能、降低数据库负载的核心技术。Redis作为高性能的内存数据存储,通过其丰富的数据结构和原子操作,为缓存、会话存储、分布式锁等场景提供了强大支持。其核心原理基于内存操作和单线程事件循环模型,确保了极高的吞吐量和数据一致性。从技术价值看,合理使用Redis能显著提升应用响应速度与系统扩展性,广泛应用于电商秒杀、社交热榜、实时消息等场景。在实际工程实践中,选择合适的Redis客户端驱动至关重要,这直接关系到连接管理效率、资源利用率和分布式协调的可靠性。本文聚焦于Sprin 阅读详情

相关推荐

Spring Boot Redis客户端选型指南:Jedis、Lettuce、RedisTemplate与Redisson实战解析

在分布式系统和高并发应用中,缓存是提升性能、降低数据库负载的核心技术。其原理是将热点数据存储在内存中,通过键值对提供高速访问,从而减少对后端持久化存储的I/O压力。Redis作为高性能的内存数据存储,凭借其丰富的数据结构和原子操作,成为实现分布式缓存、会话共享和分布式协调的关键组件。在Java生态中,Spring Boot通过集成多种Redis客户端,为开发者提供了灵活的选择。Jedis作为老牌同步阻塞客户端,适合简单场景;Lettuce基于Netty实现了非阻塞I/O和响应式编程,是高并发场景的默认选择;

weixin_30596343的博客 481

redission分布式锁和同步器

可重入锁(Reentrant Lock) 基于Redis的Redisson分布式可重入锁RLockJava对象实现了java.util.concurrent.locks.Lock接口。同时还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。 RLock lock = redisson.getLock("anyLock"); // 最常见的使用方法 lo...

714

Redis 客户端深度对比:Jedis、Lettuce、Redisson 全方位解析

本文全面解析Java三大主流Redis客户端:Jedis、Lettuce和Redisson的核心特性与适用场景。Jedis作为老牌客户端,API简单直观但线程不安全;Lettuce基于Netty实现异步非阻塞,支持响应式编程,是SpringBoot默认选择;Redisson提供丰富的分布式数据结构和服务,特别适合复杂分布式场景。文章通过代码示例详细对比了三者在功能、性能、易用性等方面的差异,并给出选型建议:简单场景用Jedis,常规SpringBoot项目用Lettuce,需要分布式锁等高级功能时选用Red

weixin_51040479的博客 524

Java --- redis7之redisson的使用

加锁成功就会启动一个watch dog看门狗,他是一个后台线程,会每隔10秒检查一下,如果客户端A还持有锁key,那么就会不断地延长锁key的生存时间,默认每次续命又从30秒新开始。如:加入在集群环境中,redis失败1台,可以接受,2 * 1 + 1 = 3,部署3台,宕机1台剩2台可以正常工作,就部署3台。redisson里主要使用“看门狗”定期检查(每1/3的锁时间检查1次),如果线程还持有锁,则刷新过期时间。②、通过hexists判断,如果锁已存在,并且锁的是当前线程,则证明是重入锁,加锁成功。

qq_46093575的博客 2250

IntelliJ IDEA连接Redis全攻略:从Lettuce集成到插件调试

Redis作为高性能的键值对内存数据库,其核心原理基于内存存储和丰富的数据结构,为应用提供了极低延迟的数据访问能力。这一特性使其在缓存、会话存储和消息队列等场景中具有极高的技术价值,成为现代分布式系统架构的关键组件。在Java开发领域,通过Spring Data Redis集成Lettuce客户端,开发者可以便捷地在应用中实现与Redis的交互。本文聚焦于在IntelliJ IDEA这一主流集成开发环境中,如何高效配置连接池与序列化方案,并利用可视化插件进行实时数据调试,从而优化开发工作流,提升工程实践效率

weixin_30550081的博客 498

Spring Boot 3.X与Redis连接问题解决方案

Redis作为高性能的内存数据库,在现代分布式系统中扮演着关键角色。其基于RESP协议的通信机制决定了客户端与服务端的兼容性。Spring Boot 3.X默认采用Lettuce 6.x客户端,引入了RESP3协议支持,这在与旧版Redis服务交互时可能引发连接问题。通过分析协议版本差异、网络环境因素和连接池配置,可以优化Redis连接稳定性。特别是在Docker和Kubernetes环境中,合理的超时设置和健康检查机制能有效避免连接失败。本文针对Spring Boot 3.X与Redis的兼容性问题,提供

weixin_33688840的博客 335

Java中间件 - Redisson简介

1. 什么是Redisson Redisson官网的介绍如下: Redis Java Client with features of In-Memory Data Grid Redisson是一款具有诸多高性能功能的综合类开源中间件。 Redisson设计的初衷是让实施者对Redis的关注进行分离,可以将更多的精力放在处理业务逻辑上。 Redisson提供的功能特性及其在项目中所起的作用远大于原生Redis所提供的各种功能。 2. Redisson的功能特性 (1)多种连接方式 同步,异步,异步流,管道流

weixin_42408447的博客 2585

Redis高频面试题解析与Java实战指南

Redis作为高性能内存数据库,其核心原理基于内存存储与多种数据结构实现。通过String、Hash等数据结构支持不同业务场景,配合RDB/AOF持久化机制保障数据安全。在分布式系统中,Redis常用于实现缓存穿透防护、分布式锁等高并发解决方案,其集群模式支持水平扩展应对大数据场景。本文结合Java代码示例,详细解析Redis在面试中的高频考点,包括数据结构应用、持久化配置、性能优化等实战技巧,帮助开发者深入理解Redis技术体系并提升工程实践能力。

weixin_30700099的博客 488

Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比

Java 连接 Redis 的驱动(Jedis、Lettuce、Redisson、Spring Data Redis)分类及对比

爱的叹息的专栏 1895

JAVA:利用 Redisson 高效开发的技术指南

摘要:本文介绍了Redis缓存应用及常见问题解决方案,并重点探讨了Redisson在分布式系统中的优势。Redis作为内存数据库存在缓存穿透、雪崩和击穿问题,可通过设置空值缓存、随机过期时间和分布式锁解决。Redisson作为基于Redis的Java工具库,提供了简易的分布式锁、集合、任务调度等功能,大幅简化分布式开发。通过合理配置和设计,Redisson能有效提升分布式系统的可靠性和性能,使开发者更专注于业务逻辑实现。文章还展示了Redisson的基本配置和使用示例,为分布式应用开发提供了实用参考。

木头 5433

光伏5G多合一融合终端|光伏多合一融合终端|光伏多合一群调群控网关|分布式光伏群控群调|光伏AGC/AVC系统这几者之间什么技术关系,多少钱一套预算?

RCL-0923光伏电站电压\功率自动控制装置(光伏AVC/AGC),能够接收调度DMS下发的调节目标(电压或无功),按既定策略的调节目标计算光伏电站无功功率出力需求,支持总有、无功,最大可调范围、逆变器个数等数据的上送,通过选择控制设备并进行无功功率出力分配,并将最终控制指令自动下达给被控制设备,最终实现光伏电站无功功率控制,实现无功功率、并网点电压的监测和控制,跟踪调度中心下发的电压或无功调节目标值,实现分布式电源的可观可测,可调可控。光伏5G多合一融合终端的功能:群调群控/AGC/AVC功能。

分布式DTU物联网DTU 2608

【序列晋升】41 Spring Data Redis 进击用法:缓存、分布式锁与消息队列实战详解

Spring Data Redis作为Spring框架对Redis的高级抽象层,为Java开发者提供了便捷的Redis集成方案,通过统一的API简化了Redis操作,同时与Spring生态系统深度整合,支持事务、缓存等多种应用场景。它通过RedisTemplate等核心组件,实现了对不同Redis客户端(如Jedis、Lettuce)的统一抽象,使开发者无需关注底层实现细节,专注于业务逻辑。

愚者Turbo的博客 1612

PCB阻焊工艺全解析:从油墨选择到显影测试的完整指南

本文深入解析PCB阻焊工艺全流程,从材料科学角度对比液态光成像(LPI)油墨、干膜阻焊等核心材料特性,系统阐述前处理、涂覆、预烤曝光、显影固化等关键步骤的工艺要点与参数控制。重点探讨了如何通过优化油墨选择与工艺参数,解决常见缺陷,提升PCB的可靠性、美观度及可制造性,为工程师提供从理论到产线实战的完整指南。

s3t4u的博客 554

Redisson完全指南:Java分布式缓存与实时数据平台的终极解决方案

Redisson是Java开发者必备的Redis和Valkey客户端,提供了超过50种基于Redis的Java对象和服务。无论你是构建高并发的微服务系统,还是需要实现分布式锁、缓存、消息队列等功能,Redisson都能为你提供优雅的解决方案。本文将为你详细介绍Redisson的核心功能、使用场景和最佳实践。 ## 为什么选择Redisson?🤔 在分布式系统开发中,你可能会遇到以下痛点:

gitblog_01017的博客 439

XTDrone——无人机基于2D激光Lidar进行二维运动规划(细节提醒以及相关报错解决)

本文介绍了在Ubuntu 20.04系统无人机基于ROS Noetic实现HectorSLAM二维激光建图与运动规划的完整流程。主要内容包括:安装必要ROS依赖库;修改HectorSLAM的launch文件,解决坐标系转换问题;配置地图发布参数以避免覆盖已建地图;启动PX4仿真环境与XTDrone通信模块;最后通过2D导航目标点实现无人机运动规划。文中详细说明了各步骤的关键配置修改,并提供了处理常见错误(如TF转换超时)的解决方案。实现了从激光SLAM建图到路径规划的过程。

weixin_45390670的博客 996

告别米级误差:手把手教你用Nordic nRF52840实现厘米级蓝牙测距(Channel Sounding实战)

本文详细介绍了如何利用Nordic nRF52840开发板和蓝牙信道探测(Channel Sounding)技术实现厘米级高精度测距。通过硬件配置、软件优化和实战案例,帮助开发者快速掌握低功耗蓝牙测距技术,适用于工业自动化、智能仓储等场景。

weixin_42741930的博客 478

Spring Boot 操作 Redis 终极指南:从基础整合到三大客户端深度剖析

本文全面解析了SpringBoot操作Redis的多种实现方式,包括基础配置、五种操作方式(StringRedisTemplate、RedisTemplate、注解缓存、RedisRepository、底层回调),并深入对比了三大Java客户端(Jedis、Lettuce、Redisson)的特性与适用场景。Jedis适合低并发简单场景,Lettuce作为SpringBoot默认客户端具备高性能异步特性,Redisson提供丰富的分布式服务。文章还给出了缓存穿透/击穿/雪崩的解决方案和性能优化策略,建议根据

油墨香^-^的博客 733

ArcGIS | 全球新冠肺炎地图数据下载和处理

ArcGIS

thinkpang的博客 2901

Java开发者Redis实战指南:从环境搭建到高级应用与生产运维

缓存是提升系统性能、应对高并发的核心技术之一,其核心原理是将高频访问的数据存储在访问速度更快的介质中,以减少对后端数据库的直接压力。在Java生态中,Redis凭借其丰富的数据结构、高性能和原子操作特性,成为实现分布式缓存、会话存储乃至分布式锁等场景的首选技术方案。对于Java开发者而言,掌握Redis不仅意味着能使用Spring Boot的`@Cacheable`注解进行快速集成,更涉及对客户端选型(如Lettuce与Redisson)、序列化策略、连接池配置等工程实践的深入理解。本文聚焦于**Redis

weixin_30540691的博客 436

STM32的GPS数据提取程序设计说明——基于NMEA0183协议

一、硬软件平台 本次程序实现效果为对GPS信号穿送来的数据进行筛选,并将筛选后的信息通过上位机显示出来,所以此次设计所需硬件包括STM32F407、RS232转TTL、CH340USB转串口模块,注意该模块在使用前,对应的系统需要安装驱动,否则串口调试助手无法识别,另外还包括JLink下载器。 本次代码设计软件为KEIL5并结合F4固件包,上位机系统为WIN7,主机系统为WIN10。 二、算法总体思路设计 由于GPS通过RS232将数据传送给板子,因此使用两个串口资源(串口1和串口2),其中一个用来

小景的博客 6181

【传感器模块项目实战】自动驾驶/机器人相关传感器原理及标定

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、IMU二、相机三、激光雷达四、轮速里程计五、GPS/RTK六、毫米波雷达总结 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对**【自动驾驶相关传感器原理及标定】**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、IMU IMU惯导系统的特性(imu_calc函数功能) IMU运行的

qq_35635374的博客 1232

Spring Boot集成Redisson:两种方案对比与实战指南

Redis作为高性能键值数据库,在分布式系统中常被用于缓存、会话存储等场景。其Java客户端Redisson通过封装分布式对象和服务,提供了比原生API更便捷的操作方式。在Spring Boot项目中,开发者可通过原始依赖或Starter两种方式集成Redisson,前者适合需要精细控制的场景,后者则遵循约定优于配置原则,大幅提升开发效率。合理配置连接池参数如connectionPoolSize和connectionMinimumIdleSize对系统性能至关重要,特别是在高并发场景下。本文通过实测数据对比

weixin_34242331的博客 422

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集

传感器使用——ESP-WROOM-32 and INMP441麦克风音频采集,数据显示及matlab操作界面。

qq_41958946的博客 7355

Spring Boot 3.x集成Redis连接问题排查与优化

Redis作为高性能的内存数据库,在现代分布式系统中广泛用于缓存和会话管理。其基于RESP协议的通信机制支持多种客户端实现,其中Lettuce作为Spring Boot默认的异步驱动客户端,采用Netty NIO模型实现高吞吐。在实际工程实践中,连接问题往往涉及网络配置、认证机制和连接池参数等多个技术维度。本文针对Spring Boot 3.x环境下常见的'Unable to connect to Redis'错误,详细解析Lettuce客户端的连接管理机制,提供从基础网络诊断到高级参数调优的全套解决方案,

weixin_34391445的博客 368

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Redisson实战:Redis客户端选择与分布式锁优化

Redis作为高性能键值数据库,在分布式系统中扮演着重要角色。Java生态中常见的Redis客户端包括Jedis、Lettuce和Redisson,它们各有特点。Redisson凭借对分布式场景的深度支持脱颖而出,特别是在分布式锁实现上提供了简洁高效的API。分布式锁是解决并发问题的关键机制,Redisson通过看门狗机制实现自动续期,避免了锁意外释放的风险。在实际应用中,合理配置连接池参数和序列化方式对性能影响显著。对于秒杀等高并发场景,Redisson的分布式锁性能比手动实现方案稳定提升20%以上。本文

weixin_34345753的博客 408

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 事务回滚:Redis 事务中如果某个命令执行失败,默认不会回滚已执行的命令,需要在应用层处理这种情况,确保业务逻辑的正确性 这种具体是什么场景,举个java例子和解决办法
下一篇: java的NIO框架Netty、Mina、Grizzly 和 Jetty 四种对比
devilnumber
博客等级 码龄12年 20粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值