lettuce 3.0 was released. Lettuce is a scalable thread-safe Redis client providing both synchronous and asynchronous connections. Multiple threads may share one connection provided they avoid blocking and transactional operations such as BLPOP, and MULTI/EXEC. Multiple connections are efficiently managed by the excellent netty NIO framework. Support for advanced Redis features such as Sentinel, Cluster and Redis data models are included.

Some of the major changes are:

  • Support for the latest Redis commands
  • Redis Cluster support
  • Redis Sentinel support
  • Upgrade to netty 4.0.19 (from netty 3.x)
  • CDI and Spring support
  • Streaming API
  • Listenable Futures (using Guava) for true async operations
  • Tons of bugfixes, tests and documentation

Lettuce 3.0 is a fork of original lettuce@wg with preserved packages and mostly the same API. The original lettuce is no longer in active development.

What's next?

My plan is to keep up with tight Redis development and to integrate the new fork into Spring Data Redis. Redis Cluster has to get mature, and the current implementation has to prove in production.

Links

Maven coordinates:

<dependency>
    <groupId>biz.paluch.redis</groupId>
    <artifactId>lettuce</artifactId>
    <version>3.0.Final</version>
</dependency>

<dependency>
    <groupId>biz.paluch.redis</groupId>
    <artifactId>lettuce</artifactId>
    <version>3.0.Final</version>
    <classifier>shaded</classifier>
</dependency>

Any feedback is appreciated or create issues on GitHub.