J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 链接

一直以来 J2Cache 都是使用 Jedis 链接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,做者维护很勤勉,社区上能搜到的文章也很是很是多。算是使用范围最广的 Redis 开发包。可是 Jedis 比较推出时间比较早,整个设计思路比较传统,例如不支持异步操做,接口设计比较繁琐老套(相比其余开发包而已),使用链接池占用不少的物理链接资源。固然,这个是能够理解的,比较一个比较早期的开发包,相对其作大的结构调整是很难的,并且用户也不必定会接受。git

自从 2.7.0 版本开始,J2Cache 就增长了 Lettuce 的支持。Lettuce是一个可伸缩线程安全的 Redis 客户端。多个线程能够共享同一个RedisConnection。它利用优秀 Netty NIO 框架来高效地管理多个链接。redis

相比较 Jedis ,我以为 Lettuce 的优势有以下几个方面:安全

  • 更加直观、结构更加良好的接口设计
  • 基于 Netty NIO 能够高效管理 Redis 链接,不用链接池方式
  • 支持异步操做(J2Cache 暂时没用到这个特性)
  • 文档很是详尽

不过 Lettuce 须要至少 Java 8 的支持,好在 J2Cache 也要求至少 Java 8 ,就这么愉快的决定了。框架

在 J2Cache 2.7.0 版本以及之后的更新版本中,想使用 Lettuce 替代 Jedis 的方法以下:异步

1. 修改 j2cache.properties 配置:ide

j2cache.broadcast = lettuce
j2cache.L2.provider_class = lettuce

2. 修改 j2cache.properties 对应的 Redis 链接信息:ui

lettuce.namespace =
lettuce.storage = hash
lettuce.channel = j2cache
lettuce.scheme = redis
lettuce.hosts = 127.0.0.1:6379
lettuce.password =
lettuce.database = 0
lettuce.sentinelMasterId =

其中 lettuce.scheme 包含以下几种模式:spa

  1. redis : 链接单个 Redis 服务
  2. rediss : 使用 SSH 链接单个 Redis 服务
  3. redis-sentinel : 链接到 Redis Sentinel 集群(结合 sentinelMasterId 进行使用)
  4. redis-cluster : 链接到 Redis Cluster

最后你还须要引入 Lettuce 的 Maven 包支持:.net

<dependency>
    <groupId>io.lettuce</groupId>
    <artifactId>lettuce-core</artifactId>
    <version>5.1.1.RELEASE</version>
    <scope>provided</scope>
</dependency>

当你在启动日志中看到以下信息就代表 Lettuce 已经正常工做:线程

[main] INFO net.oschina.j2cache.CacheProviderHolder - Using L2 CacheProvider : net.oschina.j2cache.lettuce.LettuceCacheProvider
[main] INFO io.lettuce.core.EpollProvider - Starting without optional epoll library
[main] INFO io.lettuce.core.KqueueProvider - Starting without optional kqueue library
[main] INFO net.oschina.j2cache.cluster.ClusterPolicy - Connected to redis channel:j2cache, time 680 ms.
[main] INFO net.oschina.j2cache.J2CacheBuilder - Using cluster policy : net.oschina.j2cache.lettuce.LettuceCacheProvider

使用有任何问题欢迎到 https://gitee.com/ld/J2Cache 提交 Issue。

全文完。

相关文章
相关标签/搜索