Redis入门到精通(八),JAVA集成Redis常见客户端

一.常见的客户端有哪些

        前面几期我们讲了Redis的概念、操作指令、发布订阅以及持久化等,今天呢我会跟大家聊一下如何将我们的Redis应用到我们的JAVA项目中。

        首先我们还是要养成了解一个新技术的时候尽量先到官网去找官方文档,现在翻译软件那么多,也有那么多技术有中文网站,从设计者的角度出发能更好的理解这个技术针对的痛点,会让你少走很多弯路。建议翻译不顺或者有歧义的地方再去百度或者自己动手试一试。我们先来看文档。

        可以看到,Redis支持各种语言的客户端真的实在是太多了,我们只看JAVA的

        我访问的是英文网站 Redis.io,如果进不去的话可以去中文网站CRUG网站,会有些细微差别,可以忽略不计。

        

        点进来JAVA之后可以看到,光是JAVA就有这么多种客户端,这里的小心心表示官方推荐,第二个图标是GitHub链接和开源协议,小星星是半年内的社区活跃度,最后小房子是客户端官方的主业。看完这些大家心里应该也知道那几个好用了,但是具体落实在业务中又如何选择如何用呢。

二.三种客户端的区别

1.Reidsson

        Redisson是Redis 官方的分布式锁组件,它对分布式相关的操作很友好,尤其是在操作

分布式锁,分布式集合等方面。可以通过Redis支持延迟队列,Redisson使用Netty网络应用框架,而Netty采用了NIO模型,支持异步操作。

        Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的 Java 常用对象,还实现了可重入锁(Reentrant Lock)、公平锁(Fair Lock、联锁(MultiLock)、 红锁(RedLock)、 读写锁(ReadWriteLock)等,还提供了许多分布式服务。Redisson 提供了使用 Redis 的最简单和最便捷的方法。Redisson 的宗旨是促进使用者对 Redis 的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。

官网地址:Redisson PRO - Redis Java client with ultra-fast performance

代码地址:GitHub - redisson/redisson

2.Jedis

        Jedis有比较全面的Redis操作特性,它使用BIO,方法调用都是同步的,数据的读取写入必须阻塞在一个线程内等待其完成。我们在每次通信是都需要先创建连接,使用完毕后要关闭连接。使用连接池可以节约性能、简化代码、最最重要的线程安全。

        有朋友可能要问了,Redis不是线程安全的吗,是的,不管是六点零以前的作为单线程的,还是六点零新特性增加多线程的,Redis都是线程安全的,但是客户端的实例他不是线程安全的,就需要我们通过池化来保证Jedis客户端实例的线程安全。

官网地址:暂无

代码地址:GitHub - redis/jedis

3.Lettuce

        Lettuce也叫生菜,对没错就是用来卷烤肉的的生菜,进到Lettuce官网就能看到一颗生菜。Lettuce对分布式缓存框架支持相对较多,并且同样使用Netty,方法调用也是异步的,线程安全。在一些分布式缓存框架上使用相对比较多。

官网地址:Lettuce

代码地址:GitHub - lettuce-io/lettuce-core

         今天就先到这里吧,本来打算把三个客户端一起写了,后来发现确实是有点长。太长了又怕你们耐心看,就索性分三期,把这期独立出来,下期再发Jedis,所以这一期依然有点短。还望各位看官点个赞再走吧,给您劈个叉~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值