当前位置: 首页 > news >正文

Redis客户端Jedis、Lettuce 和 Redisson优缺点总结

https://developer.huawei.com/consumer/cn/blog/topic/03825550899620047

Redis 官方推荐的 Java 客户端有Jedis、Lettuce 和 Redisson。本文总结这些客服端的优缺点

1. Jedis

Jedis 是老牌的 Redis 的 Java 实现客户端,提供了比较全面的 Redis 命令的支持,其官方网址是:https://github.com/redis/jedis

优点:

  • 支持全面的 Redis 操作特性(可以理解为API比较全面)。
  • 老牌的redis客户端,使用很稳定; spring-boot 1.x 默认使用jedis;

缺点:

  • 使用阻塞的 IO,且其方法调用都是同步的,程序流需要等到 sockets 处理完 IO 才能执行,不支持异步;
  • Jedis 客户端实例不是线程安全的,所以需要通过连接池来使用 Jedis。

2. Lettuce

Lettuce是一种可扩展的线程安全的 Redis 客户端,支持异步模式。如果避免阻塞和事务操作,如BLPOP和MULTIEXEC,多个线程就可以共享一个连接。Lettuce 底层基于 Netty,支持高级的 Redis 特性,比如哨兵,集群,管道,自动重新连接和Redis数据模型。Lettuce 的官网地址是:https://github.com/lettuce-io/lettuce-core

优点:

  • 支持同步异步通信模式;
  • Lettuce 的 API 是线程安全的,如果不是执行阻塞和事务操作,如BLPOP和MULTIEXEC,多个线程就可以共享一个连接;
  • spring-boot 2.x 默认使用Lettuce;

3. Redisson

Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的 Java 常用对象,还提供了许多分布式服务。其中包括( BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Executor service, Live Object service, Scheduler service) Redisson 提供了使用Redis 的最简单和最便捷的方法。Redisson 的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。Redisson的官方网址是:https://redisson.org/

优点:

  • 使用者对 Redis 的关注分离,可以类比 Spring 框架,这些框架搭建了应用程序的基础框架和功能,提升开发效率,让开发者有更多的时间来关注业务逻辑;
  • 提供很多分布式相关操作服务,例如,分布式锁,分布式集合,可通过Redis支持延迟队列等。

缺点:

  • Redisson 对字符串的操作支持比较差。

4. 使用建议

一般是采用如下搭配组合。

  • Jedis + Redisson
  • Lettuce + Redisson

相关文章:

  • 【Linux———生产消费模型】
  • ubuntu20.04下的opencv4.8.0安装教程(其他版本通用)
  • git clone, 算是解决可以访问github但无法clone的问题
  • 动态规划合集——动态规划基本原理
  • Java JMX 未授权访问漏洞分析与修复指南
  • 云计算迁移革命:企业如何摆脱“单一云”锁定,构建自主云未来?
  • GPU 上的 Reduction(归约)和 Scan(前缀和)优化:LLVM、GPU 指令集与架构差异
  • 在线教育网站项目第四步:deepseek骗我, WSL2不能创建两个独立的Ubuntu,但我们能实现实例互访及外部访问
  • 全局上下文网络GCNet:创新架构提升视觉识别性能
  • mac calDAV 日历交互
  • 抖音视频数据获取实战:从API调用到热门内容挖掘
  • Android Studio控制台中文乱码解决方案
  • 利用knn算法实现手写数字分类
  • 检索增强生成(2)本地PDF 本地嵌入模型
  • 顺序表:数据结构的“上古神兽”
  • 程序化广告行业(30/89):利用“4W1H”模型优化广告投放策略
  • windows 10 系统配置Node
  • Unity 项目工程结构目录
  • 【设计原则】迪米特法则(LoD):降低耦合的设计智慧
  • AI视频生成产品体验分享(第2趴):Vidu、Hailuo、Runway、Pika谁更胜一筹?
  • 华侨城A:一季度营收53.63亿元,净利润亏损14.19亿元
  • 北汽蓝谷一季度净亏损9.5亿元,拟定增募资不超60亿元
  • 伊朗内政部长:港口爆炸由于“疏忽”和未遵守安全规定造成
  • 国家发改委答澎湃:将建立和实施育儿补贴制度,深入实施提振消费专项行动
  • 第二艘国产大型邮轮爱达·花城号完成坞内起浮
  • 楼下电瓶车起火老夫妻逃生时被烧伤,消防解析躲火避烟注意事项