译者 | 平川
策划 | 丁晓昀
Infinispan(一个用 Java 编写的开源键 / 值数据存储和数据网格平台)发布 最新版本 15.0.0。该版本是一个重要的里程碑。特别值得注意的是,它在 RESP 端点中实现了大多数核心 Redis 命令,优化了集群内通信,增强了跟踪子系统和服务器管理控制台,并将所需的最小 JDK 版本升级到了 JDK 17。
现在,开发人员可以直接使用缓存 API 而不是 Search/QueryFactory 组合进行查询。查询结果对象提供了两个重要的方法:hitCount()
表示查询返回的结果数,exact()
用于指定命中数是准确值还是下限。为了提高查询性能,可以通过属性hit-count-accuracy
配置全局或单个查询的命中数准确性。
Infinispan 的最新版本进一步加强了 Infinispan 14 中引入的跟踪功能。现在,开发人员可以使用标准 Infinispan 配置来设置全局跟踪和基于每个缓存的跟踪。该版本还允许开发人员跟踪其他事件,例如集群调用、跨站点调用、缓存存储事件和安全审计调用。要了解更多关于跟踪子系统更改的信息,请参阅官方博客。
这个版本最主要的优化包括:在值不存在时减少删除操作期间的集群内流量,以及通过在不需要时不返回以前的值来减少 有效负载大小。侦听器转换器中引入了一个名为includeOldValue
的 新方法,开发人员可以重写该方法,在更改事件中发送以前的值或旧值。
Infinispan 服务器包括的 RESP(Redis 序列化协议)端点(也是在 Infinispan 14.0.0 中引入的)在这个版本中得到了显著的增强,实现了大多数核心 Redis 命令。将resp-connector
添加到 Infinispan 服务器配置中即可启用 RESP 端点,然后就可以使用 Redis 客户端通过它与远程缓存进行交互了。服务器安全性现在提供了 aggregate-realm 类型,它可以组合不同的安全域来加载身份验证和授权步骤。
服务器管理控制台也得到了增强,可以显示连接到集群的客户端的列表,并允许管理角色、用户及进行访问控制。此外,它还支持深色模式。
Infinispan 15 所需的最低 JDK 版本是 JDK 17。它还支持 JDK 21 和 JDK 22。这一更改使得 Infinispan 只能提供兼容 Jakarta EE 的模块。Infinispan 14 目前仍然可用,它支持 Java EE。
其他改进包括:在 Ickle 查询中支持 BigDecimal 和 BigInteger,以及引入新的投影类型,如 score、version 和 star/identity。索引分片(会将索引数据分割成多个索引)现在可以通过shards
属性进行配置。它还提供了manual
索引模式,允许通过显式调用重新索引操作来更新索引。
要了解 Infinispan 15.0.0 的完整功能列表,请查阅该版本的发布博文。在 15.0.0 发布之后,他们已经发布了两个小版本:15.0.1 和 15.0.2。
要了解更多关于 Infinispan 的信息,请查看官方提供的学习材料及官方博客。此外,还可以查看他们的路线图,了解接下来将要发布的功能。
原文链接:
https://www.infoq.com/news/2024/05/infinispan-15/
声明:本文为 InfoQ 翻译,未经许可禁止转载。