Lettuce 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Lettuce 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Lettuce 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Lettuce 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Lettuce 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 鉴客
适用人群 未知
收录时间 2011-03-30

软件简介

Lettuce是一个可伸缩线程安全的Redis客户端。多个线程可以共享同一个RedisConnection。它利用优秀netty NIO框架来高效地管理多个连接。

示例代码:

RedisClient client = new RedisClient("localhost")
RedisConnection<String, String> connection = client.connect()
String value = connection.get("key")

异步 API

StatefulRedisConnection<String, String> connection = client.connect();
RedisStringAsyncCommands<String, String> async = connection.async();
RedisFuture<String> set = async.set("key", "value")
RedisFuture<String> get = async.get("key")

async.awaitAll(set, get) == true

set.get() == "OK"
get.get() == "value"
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (5)

加载中
Lettuce在Cluster模式下可为开发人员提供一套开箱即用的读/写分离方案。
2020/10/12 16:04
回复
举报
#Lettuce# 的确比 #Jedis# 简单很多,但是其依赖的第三方包也多了不少
2018/09/12 20:10
回复
举报
打分: 力荐
值得实践,技术拓展有望
2017/12/22 17:24
回复
举报
和jredis比怎么样?
2017/07/19 09:27
回复
举报
Where is the new version? #Lettuce#
2016/05/06 16:18
回复
举报
该评论暂时无法显示,详情咨询 QQ 群:912889742
更多评论
发表于数据库专区
2018/11/27 14:22

Lettuce 5.1.3 发布,可伸缩、线程安全的 Redis 客户端

Lettuce 5.1.3 发布了,Lettuce 是一个可伸缩线程安全的 Redis 客户端。多个线程可以共享同一个 RedisConnection,利用 netty NIO 框架高效地管理多个连接。 Enhancements Add shutdown logging to client, ClientResources, and EventLoopGroupProvider #918 Optimization: Use Cluster write connections for read commands when using ReadFrom.MASTER #923 ByteBuf.release() was not called before it's garbage-collected...

3
5
发表于数据库专区
2018/10/13 15:41

Lettuce 5.1.1 发布,可伸缩、线程安全的 Redis 客户端

Lettuce 5.1.1 发布了,Lettuce 是一个可伸缩线程安全的 Redis 客户端。多个线程可以共享同一个 RedisConnection,利用 netty NIO 框架高效地管理多个连接。 更新如下: Fixes Unable to reconnect Pub/Sub connection with authorization #868 (Thanks to @maestroua) Reduce allocations in topology comparator #870 Fix recordCommandLatency to work properly #874 (Thanks to @jongyeol) Bug: Include hostPortString in...

0
4
发表于数据库专区
2018/09/25 14:07

Lettuce 5.1.0 发布,Redis Java 客户端

此版本包含新功能、错误修正和功能改进。 最值得注意的变化是: 支持Redis Streams 异步池实现 SCAN 流和 initial 全局命令超时(默认情况下禁用) Master/Replica 和 Sentinel 异步连接方法 支持 Brave(OpenZipkin)追踪 兼容 Java 11 具体更新细节可查阅发行说明: https://github.com/lettuce-io/lettuce-core/releases/tag/5.1.0.RELEASE...

6
6
发表于数据库专区
2018/09/09 23:44

Lettuce 5.1.0.RC1 发布,Redis Java 客户端

Lettuce 5.1.0.RC1 已发布,这是 Lettuce 5.1 发布的第一个候选版本,包含改进和错误修复。Lettuce 5.1.0 要求 Java 8 及以上版本。 值得注意的变化: 支持 Brave (OpenZipkin) tracing 兼容 Java 11 完整更新内容: Add tracing support using Brave (OpenZipkin) Commands Add support for ZPOPMIN, ZPOPMAX, BZPOPMIN, BZPOPMAX commands #778 Add REPLACE option to RESTORE. #783 (Thanks to @christophstrobl) Add XGROUP...

3
3
发表于数据库专区
2018/08/01 16:20

Lettuce 5.0.5 和 4.4.6 发布,线程安全的 Redis 客户端

Lettuce 5.0.5 和 4.4.6 发布了,Lettuce 是一个可伸缩线程安全的 Redis 客户端。多个线程可以共享同一个 RedisConnection。它利用优秀 netty NIO 框架来高效地管理多个连接。 5.0.5 更新如下: Enhancements ZSCAN match pattern encoding issue #792 (Thanks to @silvertype) FutureSyncInvocationHandler the statement "command.get ()" in the handlerInvocation method is unnecessary #809 (Thanks to @zhangweidavid) F...

0
2
发表于数据库专区
2018/05/15 15:11

Lettuce 5.1.0.M1 发布,带来 5 大功能特性变更

Lettuce 5.1.0.M1 发布,这是 Lettuce 5.1 发布的第一个预览版本,包含改进和错误修复。Lettuce 5.1.0.M1 需要 Java 8,Java 9 或 Java 10 环境。 此次比较显著的变化有: Redis Streams 的 API 预览 异步池实现 SCAN 流和初始化 全局命令超时(默认情况下禁用) 主/从和 Sentinel 的异步连接方法 具体更新内容如下: Commands Add AUTH option to MIGRATE command #733 Add MASTER type to KillArgs #760 Enhancements Support...

7
5
发表于数据库专区
2018/05/08 15:30

Lettuce 5.0.4 发布,Redis Java 客户端

Lettuce 5.0.4 已发布,Lettuce 是一个可伸缩线程安全的 Redis 客户端。多个线程可以共享同一个 RedisConnection。它利用优秀 netty NIO 框架来高效地管理多个连接。 示例代码: RedisClient client = new RedisClient("localhost") RedisConnection<String, String> connection = client.connect() String value = connection.get("key") 5.0.4 是 Lettuce 5 系列的第四个 bug 修复版本,解决了 12 个问题: Comm...

4
12
发表于数据库专区
2018/03/28 15:40

Lettuce 5.0.3 和 4.4.4 发布,Redis Java 客户端

Lettuce 5.0.3 和 4.4.4 已发布,Lettuce 是一个可伸缩线程安全的 Redis 客户端。多个线程可以共享同一个 RedisConnection。它利用优秀 netty NIO 框架来高效地管理多个连接。 示例代码: RedisClient client = new RedisClient("localhost") RedisConnection<String, String> connection = client.connect() String value = connection.get("key") 5.0.3 是 Lettuce 5 系列的第三个 bug 修复版本,解决了 19 个问...

1
7
发表于数据库专区
2018/02/22 09:51

Lettuce 5.0.2 和 4.4.3 发布,Redis Java 客户端

Lettuce 5.0.2 和 4.4.3 已发布,Lettuce 是一个可伸缩线程安全的 Redis 客户端。多个线程可以共享同一个 RedisConnection。它利用优秀 netty NIO 框架来高效地管理多个连接。 示例代码: RedisClient client = new RedisClient("localhost") RedisConnection<String, String> connection = client.connect() String value = connection.get("key") 5.0.2 是 Lettuce 5 系列的第二个 bug 修复版本,解决了 21 个问...

1
8
发表了资讯
2017/11/20 14:44

Lettuce 5.0.1 发布,Redis Java 客户端

这是Lettuce 5发布的第一个修补程序版本,包含20个 tickets 修复和相关性升级。 更新内容: 改进: Add SocketAddressOutput to directly parse SENTINEL get-master-addr-by-name output #644 修复 Lettuce doesn't fail early & cleanly with a host in protected mode #608 (Thanks to @exercitussolus) CommandHandler.rebuildQueue() causes long locks #615 (Thanks to @nikolayspb) 其他: Upgrade to netty 4.1.17.Fina...

5
15
发表了资讯
2017/08/01 02:58

Lettuce 4.4.0 发布,Redis Java 客户端

Lettuce 4.4.0 已发布,此版本解决了 96 个 issue,并与 Redis 4.0 完全兼容。 它包含一系列的性能改进以降低 GC 压力,在类似BSD的系统上引入 kqueue 本地传输,并为 Redis Cluster 和 Cluster Pub/Sub 的订阅进行异步操作和连接初始化。 此版本与 Java 9(class-path 模式)兼容,至少需要 netty 4.1.11.Final。 其他更新内容和下载地址请参阅 GitHub 发布主页。...

6
18
发表了资讯
2017/07/10 14:49

Lettuce 4.3.3 发布,Redis Java 客户端

Lettuce 4.3.3 正式发布,主要修复一些问题和改进了一些功能。Lettuce 是一个高级的 Redis 客户端,用于线程安全同步、异步和响应式使用。 支持 Cluster、Sentinel、Pipelining 和 codecs 。 修复: Fix zset score parsing for infinite scores Remove method synchronization in ConnectionPoolSupport Activate connection before signaling activation completion Close connections in pooling destroy hook Apply client ...

3
16
发表了资讯
2017/02/02 20:01

Lettuce 4.3.1 发布,安全的 Redis 客户端

Lettuce 4.3.1 正式发布了,主要修复一些问题。Lettuce是一个可伸缩线程安全的Redis客户端。多个线程可以共享同一个RedisConnection。它利用优秀netty NIO框架来高效地管理多个连接。 修复: Apply proxy wrapper to obtained pooled connections #411 Allow databases greater than 15 in RedisURI greater 15 #420 Expose a protected default constructor for RedisClusterClient #438 RoundRobinSocketAddressSupplier may...

0
17
发表了资讯
2016/06/08 00:00

Lettuce 4.2.0 发布,安全的 Redis 客户端

Lettuce 4.2.0 正式发布了,Lettuce是一个可伸缩线程安全的Redis客户端。多个线程可以共享同一个RedisConnection。它利用优秀netty NIO框架来高效地管理多个连接。 一些增强: Cluster pub/sub and resilient subscriptions #138 (Thanks to @jpennell) Reactive API: Emit items during command processing #178 Allow configuration of max redirect count for cluster connections #191 Improve SCAN API #208 Support Redi...

3
44
发表了资讯
2016/05/06 00:00

Lettuce 3.4.3 和 4.1.2 发布,安全的 Redis 客户端

Lettuce 3.4.3 和 4.1.2 发布了。Lettuce是一个可伸缩线程安全的Redis客户端。多个线程可以共享同一个RedisConnection。它利用优秀netty NIO框架来高效地管理多个连接。 4.1.2 修复 Add log statement for resolved address #218 (Thanks to @mzapletal) Apply configured password/database number in MasterSlave connection #220 Lazy initialization of PauseDetector and graceful shutdown #223 (Thanks to @sf-git) Fix ...

0
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/06/10 17:07

Lettuce连接池

Lettuce 连接被设计为线程安全,所以一个连接可以被多个线程共享,同时lettuce连接默认是自动重连.虽然连接池在大多数情况下是不必要的,但在某些用例中可能是有用的.lettuce提供通用的连接池支持. 如有疏漏后续会更新 https://www.cnblogs.com/wei-zw/p/9163687.html 连接池是否有必要? Lettuce被线程安全的,它满足了多数场景需求. 所有Redis用户的操作是单线程执行的.使用多连接并不能改善一个应用的性能. 阻塞操作的使用通常与...

0
0
发表了博客
2019/04/16 09:54

整合Lettuce Redis

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 Spring Boot 除了支持常见的ORM框架外,更是对常用的中间件提供了非常好封装,随着Spring Boot2.x的到来,支持的组件越来越丰富,也越来越成熟,其中对Redis的支持不仅仅是丰富了它的API,更是替换掉底...

0
0
发表于服务端专区
2018/09/11 16:58

聊聊lettuce的指标监控

## 序 本文主要研究一下lettuce的指标监控 ## DefaultCommandLatencyEventPublisher lettuce-core-5.0.4.RELEASE-sources.jar!/io/lettuce/core/event/metrics/DefaultCommandLatencyEventPublisher.java ``` public class DefaultCommandLatencyEventPublisher implements MetricEventPublisher { private final EventExecutorGroup eventExecutorGroup; private final EventPublisherOptions options; private final EventBu...

0
0
发表于服务端专区
2018/09/16 21:53

聊聊lettuce的shareNativeConnection参数

## 序 本文主要研究一下lettuce的shareNativeConnection参数 ## LettuceConnectionFactory spring-data-redis-2.0.10.RELEASE-sources.jar!/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java ``` public class LettuceConnectionFactory implements InitializingBean, DisposableBean, RedisConnectionFactory, ReactiveRedisConnectionFactory { private static final ExceptionTranslationS...

0
1
发表于服务端专区
2018/09/13 10:52

聊聊lettuce的sentinel连接

## 序 本文主要研究一下lettuce的sentinel连接 ## RedisClient.connectSentinel lettuce-core-5.0.4.RELEASE-sources.jar!/io/lettuce/core/RedisClient.java ``` private StatefulRedisSentinelConnection connectSentinel(RedisCodec codec, RedisURI redisURI, Duration timeout) { assertNotNull(codec); checkValidRedisURI(redisURI); ConnectionBuilder connectionBuilder = ConnectionBuilder.connectionBuilder(); co...

0
1
发表于软件架构专区
2020/11/22 23:22

redis读写分离之lettuce

# 问题 redis使用过程中,很多情况都是读多写少,而不管是主从、哨兵、集群,从节点都只是用来备份,为了最大化节约用户成本,我们需要利用从节点来进行读,分担主节点压力,这里我们继续上一章的jedis的读写分离,由于springboot现在redis集群默认用的是lettuce,所以介绍下lettuce读写分离 # 读写分离 ## 主从读写分离 这里先建一个主从集群,1主3从,一般情况下只需要进行相关配置如下: ``` spring: redis: host: redisMast...

0
0
发表于AI & 大数据专区
2018/10/18 12:07

Lettuce和Jedis的基准测试

[原文链接:https://www.dubby.cn/detail.html?id=9108](https://www.dubby.cn/detail.html?id=9108) # 1.准备工作 本地需要安装Redis,使用JMH做基准测试的框架: ``` org.openjdk.jmh jmh-core 1.21 org.openjdk.jmh jmh-generator-annprocess 1.21 provided ``` 项目添加Jedis和Lettuce的依赖: ``` redis.clients jedis 2.9.0 io.lettuce lettuce-core 5.0.3.RELEASE ``` 如果你对JMH不是很熟悉,建议你去看看[Code Tools: ...

0
0
发表了博客
2018/06/08 22:02

Lettuce异步读取过程分析

通过走读Lettuce异步读取源码,针对Lettuce连接建立过程进行源码走读 总体展示一个Lettuce异步get时序 通过时序图可以发现MasterSlaveChannelWriter主要提供一个负载分配的功能,并不是真正的命令发送服务 下面通过源码分析实现过程 public static <K, V> StatefulRedisMasterSlaveConnection<K, V> connect(RedisClient redisClient, RedisCodec<K, V> codec, Iterable<RedisURI> redisURIs) { Lettuce...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于开发技能专区
2019/06/19 16:30

springboot整合redis使用Lettuceke客户端超时问题

问题:项目启动后,redis可正常运行几分钟,之后就连接不上报超时。重启工程后又可用一段时间。请教各位大牛 1. 包版本: springboot2.1.2.RELEASE spring-boot-starter-data-redis2.1.2.RELEASE 2. pom.xml 3. redis配置类 4. 配置属性 5. 运行一段时间后报错内容 sdj-cashier-api_1 | 2019-06-19 16:14:21.132 ERROR 1 --- [nio-8080-exec-2] sAspect$$EnhancerBySpringCGLIB$$aa3608f3 : redis error sdj-cashier-api_1 | s...

16
3
发表于数据库专区
2019/10/28 16:21

io.lettuce.core.RedisCommandTimeoutException

如题所示,当访问redis时,偶尔会出现io.lettuce.core.RedisCommandTimeoutException错误,频率不是很多,timeout设置500ms,连接池使用默认的,我也查了一下网上,都是什么timeout时间没有设置之类的,但是我这个有时间设置,而且不是一直有这种错误,偶尔才会有,有遇到过此问题的童鞋么

3
0
2019/09/01 17:31

Lettuce拓扑刷新问题

@ankeway 你好,想跟你请教个问题: 大神,可否帮我分析一下 我同时开启了lettuce的拓扑周期刷新和自适应刷新,发现虽然当某个master节点宕机后,客户端保存的集群拓扑信息能刷新,后台对redis的操作也正常,但是,发现lettuce还是一直在重连宕机的master,后台还是一直在刷无法重连的警告日志。 而我使用jedis测试时,基本上是无感操作,只要redis集群可用,jedis基本上不会有任何错误日志。相比而言,jedis比lettuce似乎处理的...

3
0
发表于DevOps专区
2019/04/04 19:53

关于springboot2.x版本中stringRedisTemplate操作Redis时无法删除Key问题

框架是springboot2.x,但是一直没有办法通过lua脚本删除key,存储没有问题。删除就是不行不知道什么地方错了~~~~~~没有提示报错,但是redis里面始终不能删除。如果直接使用del命令是可以删除的,但是用eval命令就是无法删除了~~代码中对key和requestId做了序列化,这个必须做,如果不做就会报错:io.lettuce.core.RedisException: io.netty.handler.codec.EncoderException: Cannot encode command. Please close the connection...

3
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
5 评论
111 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部