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

栏目: 软件资讯 · 发布时间: 6年前

内容简介: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

  • Add AUTH option to MIGRATE command #733

  • Add MASTER type to KillArgs #760

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

  • Misleading wasRolledBack method #662 (Thanks to @graineri)

  • 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)

  • CommandHandler.write() is O(N^2) #709 (Thanks to @gszpak)

  • 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

  • Handling dead Sentinel slaves #669 (Thanks to @vleushin)

  • 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)

  • Warning when refreshing topology #756 (Thanks to @theliro)

  • 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 大功能特性变更》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高效算法

高效算法

[法] Christoph Dürr、[法] Jill-Jênn Vie / 史世强 / 人民邮电出版社 / 2018-5 / 55.00元

本书旨在探讨如何优化算法效率,详细阐述了经典算法和特殊算法的实现、应用技巧和复杂度验证过程,内容由浅入深,能帮助读者快速掌握复杂度适当、正确率高的高效编程方法以及自检、自测技巧,是参加ACM/ICPC、Google Code Jam 等国际编程竞赛、备战编程考试、提高编程效率、优化编程方法的参考书目。一起来看看 《高效算法》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具