redis框架中Jedis、Lettuce、Redisson有什么区别

56次阅读
没有评论

共计 1334 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

丸趣 TV 小编给大家分享一下 redis 框架中 Jedis、Lettuce、Redisson 有什么区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

Redis 官方对 Java 语言的封装框架推荐有十多种,主要有:Jedis、Lettuce、Redisson。

几个框架的对比

三个框架都是在 Java 中对 Redis 操作的封装。

1. Jedis

github: github.com/xetorthio/j…

Jedis 是 Redis 的 Java 实现的客户端,其 API 提供了比较全面的 Redis 命令的支持。支持基本的数据类型如:String、Hash、List、Set、Sorted Set。

优点:比较全面的提供了 Redis 的操作特性,相比于其他 Redis 封装框架更加原生。

编程模型:使用阻塞的 I /O,方法调用同步,程序流需要等到 socket 处理完 I / O 才能执行,不支持异步操作。Jedis 客户端实例不是线程安全的,所以需要通过连接池来使用 Jedis。

2. Lettuce

 官网:lettuce.io/
github: github.com/lettuce-io/…

高级 Redis 客户端,用于线程安全同步,异步和响应使用,支持集群,Sentinel,管道和编码器。

优点:适合分布式缓存框架。

编程模型:基于 Netty 框架的事件驱动的通信层,其方法调用是异步的。Lettuce 的 API 是线程安全的,所以可以操作单个 Lettuce 连接来完成各种操作。

3.Redisson

 官网:redisson.org/
github: github.com/redisson/re…

Redisson 实现了分布式和可扩展的 Java 数据结构。Redisson 不仅提供了一系列的分布式 Java 常用对象,基本可以与 Java 的基本数据结构通用,还提供了许多分布式服务。

优点:促使使用者对 Redis 的关注分离,让使用者能够将精力更集中地放在处理业务逻辑上,提供很多分布式相关操作服务,例如,分布式锁,分布式集合,可通过 Redis 支持延迟队列。

第三方框架整合:

提供了和 Spring 框架的各项特性类似的,以 Spring XML 的命名空间的方式配置 RedissonClient 实例和它所支持的所有对象和服务

在 Redis 的基础上实现了 Java 缓存标准规范,并完整的实现了 Spring 框架里的缓存机制

提供了 Spring Session 会话管理器的实现

编程模型:基于 Netty 框架的事件驱动的通信层,其方法调用是异步的。Redisson 的 API 是线程安全的,所以可以操作单个 Redisson 连接来完成各种操作。

4. 总结

Jedis 中的方法调用是比较底层的暴露的 Redis 的 API,也即 Jedis 中的 Java 方法基本和 Redis 的 API 保持着一致,了解 Redis 的 API,也就能熟练的使用 Jedis。而 Redisson 中的方法则是进行比较高的抽象,每个方法调用可能进行了一个或多个 Redis 方法调用。

看完了这篇文章,相信你对 redis 框架中 Jedis、Lettuce、Redisson 有什么区别有了一定的了解,想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计1334字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)