内容简介:Lettuce 5.1.0.M1 发布,这是 Lettuce 5.1 发布的第一个预览版本,包含改进和错误修复。Lettuce 5.1.0.M1 需要 Java 8,Java 9 或 Java 10 环境。 此次比较显著的变化有: Redis Streams 的 API 预览 异步池实现 ...
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
Enhancements
Support for command timeouts (async, reactive) #435
Use object pooling for collections inside a single method and Command/CommandArgs with a small scope #459
Add support for Redis streams #606
Introduce dedicated exceptions for NOSCRIPT and BUSY responses #620 (Thanks to @DaichiUeura)
Non-blocking connection pooling #631
Introduce fast-path publishing in RedisPublisher #637
Add reactive scanning #638
Asynchronous connection initialization #640
Create reusable abstraction for non-blocking and keyed connection provider #642
Expose asynchronous connect method for Master/Slave connections #643
Add SocketAddressOutput to directly parse SENTINEL get-master-addr-by-name output #644
Read from random slave preferred #676 (Thanks to @petetanton)
Introduce exception to represent Redis LOADING response #682
Do not fail if COMMAND command fails on startup #685 (Thanks to @pujian1984)
Cluster topology lookup should not replaces self-node details with host and port from RedisURI when RedisURI is load balancer #712 (Thanks to @warrenzhu25)
Optimize Partitions/RedisClusterNode representation #715
Unnecessary copying of byteBuf in CommandHandler.decode() #725 (Thanks to @gszpak)
Add unknown node as trigger for adaptive refresh #732
Fixes
PING responses are not decoded properly if Pub/Sub connection is subscribed #579
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)
Request queue size is not cleared on reconnect #616 (Thanks to @nikolayspb)
BITPOS should allow to just specify start. #623 (Thanks to @christophstrobl)
HMGET proxy not working as expected #627 (Thanks to @moores-expedia)
Consider binary arguments using command interfaces as keys using binary codecs #628
Command.isDone() not consistent with CompletableFuture.isDone() #629
Race condition in RedisPublisher DEMAND.request() and DEMAND.onDataAvailable() #634 (Thanks to @mayamoon)
RedisPublisher.request(-1) does not fail #635
Capture subscription state before logging in RedisPublisher #636
Provide Javadoc path for Project Reactor #641
Debug logging of ConnectionWatchdog has wrong prefix after reconnect. #645 (Thanks to @mlex)
Cannot close connection when refreshing topology #656 (Thanks to @dangtranhoang)
Weights param should be ignored if it is empty #657 (Thanks to @garfeildma)
MasterSlave getNodeSpecificViews NPE with sync API #659 (Thanks to @boughtonp)
RandomServerHandler can respond zero bytes #660
ConcurrentModificationException when connecting a RedisClusterClient #663 (Thanks to @blahblahasdf)
Switch RedisSubscription.subscriber to volatile #664
Recovered Sentinels in Master/Slave not reconnected #668
Move SocketAddressResolver resolution back to calling thread #670
Support SLAVE_PREFERRED at valueOf method #671 (Thanks to @be-hase)
RedisCommandTimeoutException after two subsequent MULTI calls without executing the transaction #673 (Thanks to @destitutus)
Fix ConnectionWatchDog won't reconnect problem in edge case #679 (Thanks to @kojilin)
At least once mode keeps requeueing commands on non-recoverable errors #680 (Thanks to @mrvisser)
Retain ssl/tls config from seed uris in Master/Slave context #684 (Thanks to @acmcelwee)
NOAUTH after full queue and reconnect #691
RedisURI.create("localhost") causes NPE #694
Async connect methods report original cause #708
Mono returned by RedisPubSubReactiveCommands#subscribe does not return result #717 (Thanks to @ywtsang)
RuntimeExceptions thrown by implementations of RedisCodec do not fail TransactionCommands #719 (Thanks to @blahblahasdf)
Connection Leak in Cluster Topology Refresh #721 (Thanks to @cweitend)
Ensure Master/Slave topology refresh connections are closed #723
RedisPubSubAdapter.message() being called with wrong channel #724 (Thanks to @adimarco)
Batched commands may time out although data was received #729
DefaultEndpoint future listener recycle lose command context on requeue failures #734 (Thanks to @gszpak)
AsyncPool, AsyncConnectionPoolSupport are nowhere to be found #739 (Thanks to @fabienrenaud)
firstResponseLatency is always negative #740 (Thanks to @nickvollmar)
EXEC does not fail on EXECABORT #743 (Thanks to @dmandalidis)
DefaultEndpoint.QUEUE_SIZE becomes out of sync, preventing command queueing #764 (Thanks to @nivekastoreth)
DefaultEndpoint contains System.out.println(…) #765
Do not retry completed commands through RetryListener #767
Other
Upgrade to netty 4.0.53.Final/4.1.17.Final #646
Upgrade to Reactor Bismuth SR4 #647
Upgrade to Spring Framework 4.3.12 #648
Upgrade to Commons Pool 2.4.3 #650
Upgrade to RxJava 1.3.3 #651
Upgrade to RxJava2 2.1.6 #652
Upgrade to HdrHistogram 2.1.10 #653
Upgrade Redis versions on TravisCI #655
Upgrade to Reactor Bismuth SR5 #698
Upgrade to netty 4.1.21.Final #699
Upgrade to RxJava 1.3.6 #700
Upgrade to RxJava 2.1.9 #701
Upgrade to Reactor Bismuth SR6 #704
Upgrade to Netty 4.1.22 #744
Upgrade to RxJava 1.3.7 #745
Upgrade to Spring Framework 4.3.14 #746
Upgrade to Mockito 2.17 #747
Upgrade to AssertJ 3.9.1 #748
Upgrade to Log4j 2.11.0 #749
Upgrade to commons-lang3 3.7 #750
Upgrade to netty 4.1.23.Final #755
Upgrade to Reactor Bismuth SR8 #758
Upgrade to RxJava 1.3.8 #759
Extend documentation for argument objects #761
Upgrade to JavaParser 3.6.3 #769
Upgrade to netty 4.1.24.Final #770
Upgrade to RxJava 2.1.13 #771
详情见发布公告。
下载地址:
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《Lettuce 5.1.0.M1 发布,带来 5 大功能特性变更》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- [译] Python 最重要的 5 大功能,要是能早点了解就好了
- 用了Python这么多年,揭秘Python不为人知的7大功能和特点!
- PyMiner 开源协议变更为 LGPL,技术变更为 PySide2
- 使用JGit获取变更细节
- 每日获取变更的CVE漏洞
- Raft 成员变更的工程实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。